我的应用程序(asp.net)几乎没有动态创建的下拉列表,所有下拉列表都是AutoPostBack =“false”。如果我从下拉列表中选择项目并按Enter键,它将在应用程序中自动回发。我试图处理这个问题OnKeydown事件,但没有使用。
有人可以提供帮助。
由于 帕
答案 0 :(得分:1)
按提交按钮会触发页面上的第一个按钮(表单默认按钮)。
在按钮上设置UseSubmitBehavior="False"
。这会禁用Enter上的"AutoPostback"
。这样可以完全阻止回传。
答案 1 :(得分:0)
在下拉列表中设置AutoPostBack="false"
意味着当您更改选择时它不会回发,ASP.NET表单中的第一个按钮通常是默认选项,因此通过按回车你可能正在调用你的表格submit
按钮。
答案 2 :(得分:0)
要在下拉列表中按Enter键以避免回发,请填写
<asp:DropDownList ...... onkeydown="return (event.keyCode!=13)"/>
但是如果用户在页面的每个控件内按下回车键,您将遇到同样的问题。要禁用整个页面上的回车键,这是代码
<body onkeydown = "return (event.keyCode!=13)">
答案 3 :(得分:0)
您可以向我们提供您的代码吗?通过查看代码,更容易知道哪个控件导致回发。 我最好的猜测是你可能有一个asp.net按钮,属性“UseSubmitBehavior”设置为true所以当你按下输入按钮是导致回发的原因。 要进一步调查,您可以将此行代码添加到Page_Load事件,以检测导致回发的控件
if(IsPostback){
var controlName = page.Request.Params["__EVENTTARGET"];
}
如果您需要进一步澄清,请与我们联系。 :)