动态更改RequiredFieldValidator的ControlToValidate

时间:2012-01-31 19:19:13

标签: c# asp.net .net validation requiredfieldvalidator

根据特定情况我在<td>内有一个文本框和下拉列表我必须隐藏文本框并显示下拉列表。如果下拉列表可见,则可以使用相同的requiredfield Validator。这可能吗?

<td>
    <asp:TextBox ID="txtLimit" runat="server" />
    <asp:DropDownList ID="ddlCurLiabiltyLimits" runat="server" CssClass="TextNormal" OnSelectedIndexChanged="ddlCurLiabiltyLimits_SelectedIndexChanged">  
    </asp:DropDownList>
    <asp:RequiredFieldValidator runat="server" ControlToValidate="txtLimit" ErrorMessage="Answer is required." ClientIDMode="Static" />
</td>

在我的代码背后:

RequiredFieldValidator1.ControlToValidate = ddlCurLiabiltyLimits.ID ;

但这似乎不起作用。

2 个答案:

答案 0 :(得分:2)

我的猜测是,您可能会在页面生命周期中将ID分配给ControlToValidate属性。是否可以在页面的OnInit事件期间分配它?

对DropDownList使用第二个RequiredFieldValidator可能更容易。

答案 1 :(得分:2)

可能导致问题的一件事是在DropDownList上使用RequiredFieldValidator时,您需要指定RequiredFieldValidator.InitialValue属性以指示DropDownList中“first”项的Value。也许这就是你的问题所在?