Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从属性在RequiredFieldValidator上设置ValidationGroup不是';t设置正确_C#_Asp.net_Properties_Requiredfieldvalidator - Fatal编程技术网

C# 从属性在RequiredFieldValidator上设置ValidationGroup不是';t设置正确

C# 从属性在RequiredFieldValidator上设置ValidationGroup不是';t设置正确,c#,asp.net,properties,requiredfieldvalidator,C#,Asp.net,Properties,Requiredfieldvalidator,我正在尝试从页面上的属性动态设置所需的字段验证器ValidationGroup,但它们没有启动。如果我手动设置字符串,它将激发。我的假设是它没有将属性正确地拉入ValidationGroup。我错过什么了吗 <asp:RequiredFieldValidator runat="server" ID="rfvHouseName" ControlToValidate="txtHouseName" ErrorMessage="Please enter a house name/no." Fore

我正在尝试从页面上的属性动态设置所需的字段验证器ValidationGroup,但它们没有启动。如果我手动设置字符串,它将激发。我的假设是它没有将属性正确地拉入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; }        
}

私有静态字符串_validationGroup=“NewAddress”;
公共虚拟字符串验证组
{
获取{return\u validationGroup;}
设置{u validationGroup=value;}
}

您必须在代码隐藏中设置它

rfvHouseName.ValidationGroup = ValidationGroup;
或者如果你真的想内联使用它,你必须像这样使用它

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

代码类中的_ValidationGroup和getter与setter的属性是否已隐藏?是。我可以进去。如果我在页面上放置了,那么它将显示预期的字符串。空格是否有帮助,如“出于好奇,DataBind()在这种情况下绑定了什么?如果没有它,
ValidationGroup
的值将不会绑定到验证器。将数据绑定到不在中继器、GridView等中的控件时,该步骤始终是必需的。添加DataBind()有效。正如EmptyWaterHoles所说的,您是否愿意解释一下它的作用以及为什么它会起作用。谢谢,谢谢。就是interesting@MrSmith. 我在回复@EmptyWaterHoles时已经解释了一些。但是,如果您想向控件添加代码隐藏值,aspnet希望您显式绑定它。GridView、Listview等中也存在这种情况,但无论如何都要调用它,否则该控件中将没有数据(
GridView1.DataBind()
)。由于DataBind是在GridView中调用的,类似这样的东西会自动绑定
Text='
protected void Page_Load(object sender, EventArgs e)
{
    DataBind();
}