C# 从.ASPX页面设置必需的字段验证器

C# 从.ASPX页面设置必需的字段验证器,c#,asp.net,requiredfieldvalidator,C#,Asp.net,Requiredfieldvalidator,我正试图从代码隐藏中的一个函数中设置所需字段验证器控件的enable属性。下面的代码似乎不起作用。我错过了什么?我这样做是为了在验证后测试代码,而不必去所有必需的字段验证器控件将enable属性更改为false等 <asp:RequiredFieldValidator ID="rfvRadTxtTimerName" runat="server" ForeColor="Red" ControlToVal

我正试图从代码隐藏中的一个函数中设置所需字段验证器控件的enable属性。下面的代码似乎不起作用。我错过了什么?我这样做是为了在验证后测试代码,而不必去所有必需的字段验证器控件将enable属性更改为false等

            <asp:RequiredFieldValidator ID="rfvRadTxtTimerName" 
                runat="server" ForeColor="Red"
                ControlToValidate="txtTimerName"
                ErrorMessage="* Email Address is a required field."
                ValidationGroup="submitTimer"
                Enabled=<%# (EnableOrDisableRequiredValidators() == true ? true : false) %>
                Display="Dynamic" >
            </asp:RequiredFieldValidator>


    protected bool EnableOrDisableRequiredValidators()
    {
        return false;
    }

受保护的bool启用或sablerRequiredValidators()
{
返回false;
}
我不是100%确定,但我认为这与数据绑定和控件值初始化有关

顺便说一句,这句话(如果你找到了一种方法让它工作的话)

已启用=
可以清理

Enabled=<%# EnableOrDisableRequiredValidators() %> 
已启用=

此RequiredFieldValidator位于何处?例如,GridView,Repeater…为什么要这样做?为什么不直接在代码后面设置它呢?在代码隐藏中设置一个变量,然后将服务器控件设置为该变量似乎是一种困难的方法。我开始在.APSX页面上做这件事,但不确定为什么我没有在代码背后做这件事。我现在相信我这么做是因为我在aspx页面上为网格编辑模板做数据绑定,因此,我想从一开始就设置enabled属性,而不是在Item_data_bound事件等中进行设置。这有意义吗?感谢您提供的信息。我没有想过这样做,所以我将把我的代码改成这样。与代码隐藏相比,我想我是在.APSX页面中设置的,但是您的方式将使用代码隐藏受保护的无效页面_Load(objectsender,EventArgs e){setEnablePropertyForRequireRefieldValidators();if(!IsPostBack){}私有void setEnablePropertyForRequiredValidators(){bool enabledOrDisabled=enableOrdisablerRequiredValidators();rfvRadTxtTimerName.Enabled=enabledOrDisabled;}
rfvRadTxtTimerName.Enabled = false // true? 
Enabled=<%# (EnableOrDisableRequiredValidators() == true ? true : false) %>
Enabled=<%# EnableOrDisableRequiredValidators() %>