我有一个包含文本框和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,但它不起作用。我错过了什么?
谢谢。
答案 0 :(得分:0)
尝试这个,我想你 你还需要设置ValidateRequired =“true”你的控制器
<uc:myCtrlr ValidateRequired = "true"... />
和背后的代码我不确定这个
protected void Page_Load(object sender, EventArgs e) {
vcRequired.Enabled = _vRequired;
}