C# 验证不触发动态

C# 验证不触发动态,c#,asp.net,C#,Asp.net,当从后面的usercontrol代码处理时,我的验证器不会启动。My usercontrol由以下部分组成: <asp:TextBox ID="txtSource" cssClass="value" ValidationGroup="formbuilder" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RFV" runat="server" ControlToVal

当从后面的usercontrol代码处理时,我的验证器不会启动。My usercontrol由以下部分组成:

<asp:TextBox ID="txtSource" cssClass="value"
    ValidationGroup="formbuilder" runat="server"></asp:TextBox>

<asp:RequiredFieldValidator ID="RFV" runat="server"  
    ControlToValidate="txtSource" Enabled="true" ErrorMessage="*required"    
    ValidationGroup="formbuilder"></asp:RequiredFieldValidator>

<asp:RegularExpressionValidator ID="REV" runat="server"
    ValidationGroup="formbuilder" ControlToValidate="txtSource" Enabled="false">
</asp:RegularExpressionValidator>
但除非我硬编码Enabled=“true”和ErrorMessage=“*required”,否则它不会启动。当我把它放在硬代码中时,它就这样做了。有什么想法吗?我通过以下方法加载控件

 if (control.Required == "true")
 {
     textBoxControl.EnabledRequiredField = true;  
     textBoxControl.RequiredFieldText = "*required";
     textBoxControl.ErrorMsgForRequiredField = "*required";
     textBoxControl.RequiredFieldDisplay = ValidatorDisplay.Static;
     textBoxControl.ValidationGroup = "formbuilder";
 }

 pnlControls.Controls.Add(textBoxControl);

您的
(或启动回发的任何程序)是否设置了
formbuilder
组?什么是
控件。必需的
?你确定这是一根绳子吗?是否应该是
control.Require==true
?@freefiller if control.required=true从解析的xml文件中提交的代码我将其转换为字符串值,它命中制动点并设置所有属性栏消息并启用。
REV
在标记中设置为
enabled=“false”
,但是您没有在代码隐藏中调用
EnabledRegularExpression=true
,因此这将永远不会被启用。我不知道为什么
RFV
没有启动,除非回发启动没有设置为
formbuilder
group@frerev仅在其为正则表达式时使用,代码在它们之间切换obv depinging类型
 if (control.Required == "true")
 {
     textBoxControl.EnabledRequiredField = true;  
     textBoxControl.RequiredFieldText = "*required";
     textBoxControl.ErrorMsgForRequiredField = "*required";
     textBoxControl.RequiredFieldDisplay = ValidatorDisplay.Static;
     textBoxControl.ValidationGroup = "formbuilder";
 }

 pnlControls.Controls.Add(textBoxControl);