动态更改RequiredFieldValidator的ControlToValidate
本文关键字:ControlToValidate RequiredFieldValidator 动态 | 更新日期: 2023-09-27 18:21:58
我在<td>
中有一个文本框和下拉列表,根据特定条件,我必须隐藏文本框并显示下拉列表。如果下拉列表可见,是否可以使用相同的必填字段验证器。这可能吗?
<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 ;
但这似乎不起作用。
可能会给您带来问题的一件事是,在DropDownList上使用RequiredFieldValidator时,您需要指定RequiredFieldVerifator.InitialValue属性来指示DropDown列表中"第一个"项的值。也许这就是你的问题所在?
我的猜测是,您可能在页面生命周期中将ID分配给ControlToValidate属性太晚了。是否可以在页面的OnInit事件期间分配此项?
对DropDownList只使用第二个RequiredFieldValidator可能会更容易。