控制加载后启用验证器

时间:2015-04-13 07:38:38

标签: c# asp.net validation

我有一个包含文本框和asp验证器的用户控件

<asp:TextBox ID="txtBox" runat="server"></asp:TextBox>

<asp:RequiredFieldValidator ID="vcRequired" runat="server" ControlToValidate="txtBox" ErrorMessage="This field is required."></asp:RequiredFieldValidator>

这是.cs部分:

public partial class CMSTemplates_MyTextBoxNote : System.Web.UI.UserControl
{
    private bool _vRequired;

    public bool ValidateRequired {
        get {
            return _vRequired;
        }
        set {
            _vRequired = value;
            vcRequired.Enabled = _vRequired;
        }
    }

    protected void Page_Load(object sender, EventArgs e) { }
}

因此,当我加载控件时,如果默认情况下启用验证器,它可以正常工作。但是如果它默认被禁用(如本例中所示)并且在后面启用,虽然我可以从调试器看到vcRequried.Enable设置为true,但它不起作用。我错过了什么?

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试这个,我想你      你还需要设置ValidateRequired =“true”你的控制器

<uc:myCtrlr  ValidateRequired = "true"... />

和背后的代码我不确定这个

 protected void Page_Load(object sender, EventArgs e) {
     vcRequired.Enabled = _vRequired;
 }