单击时需要字段验证器停止图像按钮

本文关键字:图像 按钮 验证 字段 单击 | 更新日期: 2023-09-27 18:00:31

我构建的图像按钮有问题。当我将所需的字段验证器附加到页面时,它们会阻止按钮onclick事件的触发。我对此感到非常困惑,因为我在代码中看不到任何问题!

请你仔细看一下,帮我一下好吗?

干杯

<asp:TextBox ID="TB_Newsletter" runat="server" CssClass="nwsltr-input"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1"  ValidationGroup="V1" runat="server" Display="Dynamic"  ControlToValidate="TB_Newsletter" ErrorMessage="You must enter your email address"></asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" 
           runat="server" ValidationGroup="V1" Display="Dynamic"
           ValidationExpression="^([0-9a-zA-Z]([-.'w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-'w]*[0-9a-zA-Z]'.)+[a-zA-Z]{2,9})$" 
           ErrorMessage="Invalid Email Address" ControlToValidate="TB_Newsletter"></asp:RegularExpressionValidator>
      <asp:ImageButton ID="IB_SubScri" 
           ImageUrl="~/_includes/images/buttons/nwsltr-btn.png" runat="server" 
           onclick="IB_SubScri_Click" CausesValidation="True" ValidationGroup="V1"/>

单击时需要字段验证器停止图像按钮

当您按下按钮时,它会提交表单,但在此之前,字段验证器会通过脚本启动-如果验证失败,表单将不会发布。<asp:Imagebutton /><asp:Button />类型允许您在按下时禁用验证:

<asp:ImageButton ... CausesValidation="False"/>

来自MSDN的CausesValidation属性:

如果控件导致验证,则为true对任何控件执行接收时需要验证集中否则为false。默认值是真的。

有关详细信息,请参阅此MSDN参考资料。

显然,我们在这里假设在按下该按钮时不需要激活验证器。

将ImageButton 上的"CausesValidation"更改为False