我有以下代码:
<form id="frmLogOn" runat="server" DefaultButton="testbutton">
<asp:Panel runat="server" ID="testpanel" DefaultButton="testbutton">
<asp:TextBox runat="server"></asp:TextBox>
<asp:Button runat="server" ID="testbutton" OnClick="dotest" UseSubmitBehavior="True"/>
</asp:Panel>
</form>
如果我点击按钮,页面会进行回发并按预期调用dotest()。
如果我在关注文本框的同时按下回车键,则不会发生任何事情。
我已经调查过,发现当我输入一个不同的键(例如一个字母或一个数字)时调用了WebForm_FireDefaultButton(event, target)
但是当我按下回车键时它没有被调用。
(注意我发现它被调用了两次,这可能是因为我为表单和面板设置了相同的DefaultButton。)
为什么没有被召唤?
答案 0 :(得分:1)
经过一番搜索,我确定这是由我的母版页中的以下内容引起的:
<body onkeydown = "return (event.keyCode!=13)" >
没有它就可以正常工作。