2011-12-22 27 views
0

我正在开发一个ASP.net Web应用程序。我现在有一个奇怪的事件:输入按下的奇怪行为

我有一个母版页,其中包含菜单和一些其他的东西。它也包含在右上角2按钮两个开关语言。

奇怪的是,当内容中的一个用户Page按下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="" /> 

有没有人有一个想法,什么错误,或者是如何解决这一问题?

+0

这很可能是因为浏览器正在按Enter键成为表单提交动作,所以在回复时,表单上的第一个按钮被视为被按下。我有一个回忆,它只是IE发送按钮按下(其他人可能会提交,但我不知道他们是否考虑按下按钮)。我没有解决办法(因此只是一个评论),但它可能会给你另一个地方,看看没有答案很快就会出现。 – Chris 2011-12-22 09:57:17

+0

德国ImageButton的OnClick指向english_Click事件,这是否正确? – 2011-12-22 09:57:38

+0

是的,它只是没有正确命名;-) – TheJoeIaut 2011-12-22 10:02:22

回答

0

我想你可以使用

Page.Form.DefaultButton = btnGo.UniqueID; 
Page.Form.DefaultFocus = txtGo.UniqueID; 

在Page_Load设置默认的按钮和重点, 你也可以把按钮在HTML的底部,并使用CSS来他们定位到顶部

0

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