为什么DefaultButton不起作用?

时间:2014-02-26 19:04:06

标签: asp.net webforms

我有以下代码:

<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。)

为什么没有被召唤?

1 个答案:

答案 0 :(得分:1)

经过一番搜索,我确定这是由我的母版页中的以下内容引起的:

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

没有它就可以正常工作。