【问题标题】:Image button and update panel图像按钮和更新面板
【发布时间】:2012-11-23 14:03:56
【问题描述】:

我有一个如下定义的图像按钮,

<div>
    <asp:ImageButton ID="btn1" runat="server" ImageUrl="/_LAYOUTS/1033/IMAGES/row.png" />
</div>
<div>
    <asp:RequiredFieldValidator runat="server" ID="reqName" ControlToValidate="txtUserEmail" validationGroup="Page"
        ErrorMessage="enter a email" />
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"
        ControlToValidate="txtUserEmail" ErrorMessage="enter a email">  
    </asp:RegularExpressionValidator>
</div>

现在我在某个地方找到了更新面板,

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <div> // with controls in it that do some calculations without post back

问题是当我的用户控件加载时,如果我尝试计算并按下更新面板中的按钮,它会检查文本框是否为空,然后它会给出不应发生的输入电子邮件错误。

现在,如果我将 validationGroup="Page" 添加到验证器,它确实可以工作,但它不会检查电子邮件文本框是否为空。

此外,如果我添加 EnableClientScript=False,那么更新面板再次起作用,但似乎无法验证电子邮件文本框。

【问题讨论】:

    标签: c# asp.net user-controls


    【解决方案1】:

    如果您将ValidationGroup="Page" 添加到您的验证器,您还需要将其添加到相关按钮和输入控件中,否则验证器将单独在一个组中,无需验证。

    <div>
        <asp:ImageButton ID="btn1" runat="server" ImageUrl="/_LAYOUTS/1033/IMAGES/row.png" ValidationGroup="Page" />
    </div>
    <div>
        <asp:RequiredFieldValidator runat="server" ID="reqName" ControlToValidate="txtUserEmail" ValidationGroup="Page" ErrorMessage="enter a email" />
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" ControlToValidate="txtUserEmail" ValidationGroup="Page" ErrorMessage="enter a email" />
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2012-03-22
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多