【发布时间】:2010-02-02 15:08:23
【问题描述】:
这里有一个真正令人头疼的问题:我有一个页面,上面有几个控件,以及一个或两个 ASP:Button。当我在一个控件中并按下 Enter 键时,它就像我单击了提交按钮,而我此时实际上并不想这样做。
该按钮不在设置了 DefaultButton 的 ASP:Panel 中,它没有 OnClientClick 属性,我看不到任何 JavaScript 监视 Enter 键...为什么会触发?
如果我创建一个标准的 .ASPX 页面并在其上放置一个文本框和一个按钮,运行它并按 Enter 键,该按钮将被忽略,例如点击事件不会触发。这是我期望的行为,但没有得到。
简而言之,还有什么可能导致按钮认为它是页面的默认按钮?
谢谢,
迈克·K。
好的,这是我的测试页标记:
<p><asp:Label ID="uxNameL" runat="server" AssociatedControlID="uxName">Name</asp:Label><asp:TextBox ID="uxName" runat="server"></asp:TextBox></p>
<p><asp:Button id="uxSubmit" runat="server" Text="Submit" onclick="uxSubmit_Click" /></p>
<asp:Literal ID="uxOut" runat="server" EnableViewState="false"></asp:Literal>
以下是代码中发生的情况:
protected void uxSubmit_Click(object sender, EventArgs e)
{
uxOut.Text = uxName.Text;
}
当我运行页面时,在文本框中输入一些文本并按 Enter - 哈,你会看到:在 IE 8 中,按钮事件被忽略,例如页面只是重新加载,但在 FF 中,它提交表单...
嗯嗯。
【问题讨论】:
标签: asp.net