【发布时间】:2011-02-15 20:06:44
【问题描述】:
我在 IE 中遇到了一个非常奇怪的 ASP.NET onclick 事件(其他浏览器似乎没有这个问题)。当表单中只有一个文本框字段时,当您输入文本并按 Enter/Return 时不会触发 onclick 事件。当您单击实际的提交按钮时,该事件会触发。当表单中有两个或更多字段时,按 Enter/Return 即可。
这很奇怪。以为是我IE的问题,但查了其他机器,每台都有同样的问题。
我已经设置了这个非常简单的页面作为测试:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnSubmit_Click(object sender, EventArgs e)
{
Response.Write(((Button)sender).Text);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="txtBox2" runat="server" ></asp:TextBox>
<asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" Text="Submit" runat="server" />
</div>
</form>
</body>
</html>
当其中一个文本框被移除时,btnSubmit_Click 事件不会按预期运行。
【问题讨论】:
-
哪个框架版本?
-
我刚刚用IE8确认了vs2008中的行为。没有错误。回发发生,但是页面似乎只是重新加载。此外,尽管事件处理程序不执行,但 IsPostBack 变量设置为 true。
标签: asp.net