在Dropdownlist上按Enter键导致回发

时间:2013-10-21 12:13:57

标签: c# javascript asp.net .net .net-4.0

我的应用程序(asp.net)几乎没有动态创建的下拉列表,所有下拉列表都是AutoPostBack =“false”。如果我从下拉列表中选择项目并按Enter键,它将在应用程序中自动回发。我试图处理这个问题OnKeydown事件,但没有使用。

有人可以提供帮助。

由于 帕

4 个答案:

答案 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"];
}

如果您需要进一步澄清,请与我们联系。 :)