ASP.NET Webforms OnClientClick,无需输入提交

时间:2018-11-30 17:34:29

标签: asp.net webforms

我有以下命令按钮:

<asp:Button Text="Insert Value" UseSubmitBehavior="false" runat="server" OnClientClick="return Confirmation.value('insert');" CommandName="Insert" />

我正在使用UseSubmitBehavior="false"来阻止ASP.Net page enter key causing post back

我不想通过javascript收听enter keyCode,因为enter用于提交与表单无关的非网络表单元素

显然,当使用CommandUseSubmitBehavior="false"时,OnClientClick不起作用。如果我启用了“提交行为”,则可以按预期工作,但是在页面上按Enter键会自动尝试单击该按钮。

我不想在Jquery或javascript中监听click事件,而是希望使用Webform解决方案。可能是阻止回车提交表单的更好方法,或者是OnClientClick可以正常工作而没有提交行为的方法

1 个答案:

答案 0 :(得分:0)

您可能需要使用Panel,并将所有表单保留在Panel Tag中,并将Panel的DefaultButton值设置为Button。如下所示:

    <asp:Panel ID="Panel1" runat="server" DefaultButton="Button1">

         // other form elements

       <asp:Button Text="Insert Value" ID="Button1" runat="server" OnClientClick="return Confirmation.value('insert');" />
    </asp:Panel>