asp.net - TextBox 导致 ASP.NET 中的按钮回发

标签 asp.net .net-2.0 postback

ASP.NET 2.0,在 FF3 和 IE7 中测试。

当我从文本框中点击“输入”按钮时,页面中第一个 ImageButton 的相应“OnClick”事件被触发。如果我删除该图像按钮,它将触发页面上的下一个 ImageButton OnClick 事件。

从 FireBug 控制台,如果我使用 JavaScript 提交表单,则不会发生这种情况。但无论出于何种原因,从文本框中按 Enter 键都会触发不相关的 ImageButton 事件。

我找到了this question它有类似的问题,但是该解决方案的建议答案不起作用,因为 ImageButtons 没有“UseSubmitBehavior”属性。

我不明白为什么会触发此事件。如果我查看 Request.Form,我可以看到 __EVENTTARGET 是空的,它实际上发布了整个表单内容(我的所有文本框),但还包括 imageButton.x 和 imageButton.y 键/值对。

这是为什么呢?我想我可以使用 javascript 从这些文本框中检测到“输入”按键,但我过去的经验是这种行为在浏览器之间变化很大。有什么建议吗?

最佳答案

这是一个更优雅的解决方案

<asp:TextBox ID="TextBox1" runat="server" onkeydown = "return (event.keyCode!=13);" > </asp:TextBox>

阅读整篇文章here

关于asp.net - TextBox 导致 ASP.NET 中的按钮回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/813095/

相关文章:

c# - Javascript 和回发问题

ajax - 使用 ajax 寻呼机或普通回发更好吗?

c# - 处理多个 DropDown 选择的更好方法

c# - C# 中缺少类型安全数据绑定(bind)的 'nameof' 运算符的解决方法?

asp.net - 当用户的角色没有足够的权限时,将用户从 web.config 重定向到另一个页面

asp.net - 从安全页面上的 asp.net 控件不安全地回发,同时避免身份验证

.net-2.0 - 当 .NET 4.0 引用 .NET 2.0 程序集时会发生什么?

javascript - AngularJS - 验证后以编程方式提交表单

c# - 如何在 ASP.NET 中编写 SQL Server 查询?

javascript - 何时调用服务器 onClick 与 OnClientClick