【问题标题】:Asp.net validators validate Disabled controlAsp.net 验证器验证禁用控制
【发布时间】:2017-02-21 14:39:57
【问题描述】:

我有一个 Panel 控件,其中包含一些控件,例如文本框。我想使用 asp.net 验证器来验证文本框。但是如果 Panle 被禁用,那么文本框将被禁用,但验证器例如 @987654323 @验证禁用的文本框。

<asp:Panel ID="Panel1" runat="server" Enabled="false">
    <asp:TextBox ID="TextBox2" runat="server" />
    <asp:RequiredFieldValidator runat="server" ErrorMessage="RequiredFieldValidator"
        ForeColor="#FF3300" ControlToValidate="TextBox2"></asp:RequiredFieldValidator>
</asp:Panel>

如何为不验证禁用控件的验证器设置?

【问题讨论】:

    标签: c# asp.net validation c#-4.0


    【解决方案1】:

    如果某些控件被禁用,您可以设置其属性CausesValidation="False"

    <asp:Button id="Button1" runat="server"
      Text="Cancel" CausesValidation="False">
    </asp:Button>
    

    已编辑

    你可以这样吗

    if (!panel.Enabled)
    {
        RequiredFieldValidator1.Enabled = false;// disable your all validators
    }
    

    【讨论】:

    • 不不。我有一些面板,里面有控件。根据某些条件,我启用和禁用它们。我想验证Enabled 面板的控件
    • 您可以禁用所有受尊重控件的验证器,请参阅我编辑的答案
    • 这是一个解决方案,但不存在另一种更好的方法吗?
    • 另一件事是我告诉过你已经将 CausesValidation 设置为 false
    【解决方案2】:

    Page_Load()中添加这一行

    RequiredFieldValidator1.Enabled = panel.Enabled;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 2011-01-26
      相关资源
      最近更新 更多