Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Dropdownlist上按Enter键导致回发_C#_Javascript_Asp.net_.net_.net 4.0 - Fatal编程技术网

C# 在Dropdownlist上按Enter键导致回发

C# 在Dropdownlist上按Enter键导致回发,c#,javascript,asp.net,.net,.net-4.0,C#,Javascript,Asp.net,.net,.net 4.0,我的应用程序(asp.net)有几个动态创建的下拉列表,它们都是AutoPostBack=“false”。如果我从下拉列表中选择项并按enter键,它将在应用程序中自动回发。我试图在keydown事件上处理这个问题,但没有用 有人能帮忙吗 谢谢 在下拉列表中设置AutoPostBack=“false”意味着当您更改选择时,它不会回发,ASP.NET表单中的第一个按钮通常是默认选项,因此按return键可能会调用表单的“提交”按钮。在下拉列表中按enter键时,为了避免回发,应该添加足够的按钮 &

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

有人能帮忙吗

谢谢
在下拉列表中设置
AutoPostBack=“false”
意味着当您更改选择时,它不会回发,ASP.NET表单中的第一个按钮通常是默认选项,因此按return键可能会调用表单的“提交”按钮。

在下拉列表中按enter键时,为了避免回发,应该添加足够的按钮

<asp:DropDownList ...... onkeydown="return (event.keyCode!=13)"/>

但是,如果用户在页面的每个控件中按enter键,您也会遇到同样的问题。要在整个页面上禁用enter键,请执行以下代码

<body onkeydown = "return (event.keyCode!=13)">

按提交按钮将触发页面上的第一个按钮(表单默认按钮)


在按钮上设置
使用submitbehavior=“False”
。这将禁用Enter上的“自动回发”。这将完全阻止Enter上的回发。

您能为我们提供您的代码吗?通过查看代码,可以更容易地知道是哪个控件导致了回发。 我的最佳猜测是,您可能有一个asp.net按钮,其属性“UseSubmitBehavior”设置为true,因此当您按下enter键时,该按钮就是导致回发的原因。 为了进一步调查,您可以将这行代码添加到Page_Load事件中,以检测导致回发的控件

if(IsPostback){
var controlName = page.Request.Params["__EVENTTARGET"];
}

如需进一步澄清,请告知我。:)

为什么要按Enter键?它可能会触发页面上的第一个提交按钮。enter可能会触发第一个提交按钮。你能提供你的代码吗Hi Chandan,我发现了问题,Page.Form.DefaultButton在我的一个用户控件中。。。如果我加载了多个用户控件,并且每个控件都有自己的按钮需要配置为默认按钮,你能建议我吗?我发现问题,Page.Form.DefaultButton在我的一个用户控件中。。。如果我加载了多个usercontrol,并且每个都有自己的按钮,您可以建议我是否需要将当前usercontrol配置为默认buttonHello,检查当前usercontrol是否是活动控件(如果其中一个控件已聚焦)在usercontrol中的每个控件的焦点上设置Page.Form.DefaultButton以使用SubmitBehavior。我并不建议这样做,我会从所有控件中删除UseSubmitBehavior,然后等待用户通过鼠标单击提交