Asp.net 按Enter键时的奇怪行为

Asp.net 按Enter键时的奇怪行为,asp.net,html,Asp.net,Html,我正在开发一个ASP.net Web应用程序。我现在有一件奇怪的事情: 我有一个母版页,里面有菜单和其他东西。它在右上角还包含两个按钮和两个开关语言 奇怪的是,当内容页中的用户在禁用的文本框中按Enter键时,就会按下德语按钮。此行为没有以任何形式实现 以下是按钮的代码: <asp:ImageButton ID="german" runat="server" AlternateText="de-AT" ImageUrl="~/Design/img/german.gif"

我正在开发一个ASP.net Web应用程序。我现在有一件奇怪的事情:

我有一个母版页,里面有菜单和其他东西。它在右上角还包含两个按钮和两个开关语言

奇怪的是,当内容页中的用户在禁用的文本框中按Enter键时,就会按下德语按钮。此行为没有以任何形式实现

以下是按钮的代码:

  <asp:ImageButton ID="german" runat="server" AlternateText="de-AT" ImageUrl="~/Design/img/german.gif"
                meta:resourcekey="germanResource1" OnClick="english_Click" style="" />
                <br />
                <asp:ImageButton ID="english" runat="server" AlternateText="en-US" ImageUrl="~/Design/img/english.jpg"
                meta:resourcekey="englishResource1" OnClick="english_Click" style="" />



是否有人知道出了什么问题,或者如何解决此问题?

如果您有一个在内容页上包装内容的面板,您可以将面板上的默认按钮属性设置为“提交”按钮,这将阻止此情况发生。

我想您可以使用

Page.Form.DefaultButton = btnGo.UniqueID;
Page.Form.DefaultFocus = txtGo.UniqueID;
在“加载”页面中,设置默认按钮和焦点,
您还可以将按钮放在html的底部,并使用css将其定位到页面的顶部

很可能是浏览器将按下enter键视为表单提交操作,也可能是将表单上的第一个按钮视为按下后发回。我记得它只是发送按钮按下(其他人可能提交,但我不知道他们是否考虑一个按钮被按下)。我手头没有解决方案(因此只是一条评论),但如果没有答案,它可能会给你另一个地方去看。德国图片按钮的OnClick指向英语点击事件,对吗?是的,只是名称不正确;-)