【问题标题】:ASP.NET Webforms OnClientClick without enter submissionASP.NET Webforms OnClientClick 不输入提交
【发布时间】:2018-11-30 17:34:28
【问题描述】:

我有以下命令按钮:

<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是用来提交与表单无关的非webform元素

显然,当使用 CommandUseSubmitBehavior="false" 时,OnClientClick 不起作用。如果我打开提交行为,它会按预期工作,但是在页面上按回车会自动尝试单击按钮。

我不喜欢在 Jquery 或 javascript 中监听 click 事件,而是更喜欢 webform 解决方案。可能是防止输入提交表单的更好方法或 OnClientClick 在没有提交行为的情况下正常工作的方法

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    您可能需要使用 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>
    

    【讨论】:

    • 这就是问题所在,我不希望有默认按钮。我不希望任何网络表单进入绑定。
    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多