从属性上的RequiredFieldValidator的ValidationGroup设置不正确设置

问题描述:

我想设置我需要从外地然而他们没有解雇我的网页上有一个属性动态验证器的ValidationGroup。如果我手动设置字符串,它会触发。我的假设是它不会将该属性正确地拉入ValidationGroup。我错过了什么吗?从属性上的RequiredFieldValidator的ValidationGroup设置不正确设置

<asp:RequiredFieldValidator runat="server" ID="rfvHouseName" ControlToValidate="txtHouseName" ErrorMessage="Please enter a house name/no." ForeColor="Red" ValidationGroup="<%#ValidationGroup%>"><i class="fa fa-star requiredFieldStar"></i></asp:RequiredFieldValidator> 
<asp:TextBox ID="txtHouseName" runat="server" MaxLength="50" CssClass="form-control" /> 

private static string _validationGroup = "NewAddress"; 

public virtual string ValidationGroup 
{ 
    get { return _validationGroup; } 
    set { _validationGroup = value; }   
} 
+0

是_ValidationGroup的属性以及代码类中的getter和setter的背后? –

+0

是的。我可以进入它。如果我在页面上放置一个,它会显示预期的字符串。 –

+0

将空间帮助像这样的“” –

你必须将其设置在后面的代码

rfvHouseName.ValidationGroup = ValidationGroup; 

或者,如果你真的想在线使用它,你必须使用这样

<asp:RequiredFieldValidator ValidationGroup='<%# ValidationGroup %>' 

但是第二一个工作,你必须每次都从代码后面调用DataBind()

protected void Page_Load(object sender, EventArgs e) 
{ 
    DataBind(); 
} 
+0

只是出于好奇什么呢的DataBind()绑定在这种情况下? –

+0

没有它ValidationGroup'的'的值将不会被绑定到验证。结合数据时不在中继器的控制,等等的GridView – VDWWD

+0

添加的DataBind即步骤是必要的()的工作。正如EmptyWaterHoles所说,你是否愿意解释它做了什么以及为什么这会使它工作。谢谢。 –