当我更改ddl.Visible = true(它在部分回发/ updatepanel上从另一个表单元素事件中更改)时,RequiredFieldValidator将不会触发吗?
注意:这不是关于如何在正常情况下使用RequiredFieldValidator的问题。我的表单具有级联下拉列表,这些下拉列表都是动态构建的,其可见性可以打开和关闭。
<asp:DropDownList ID="ddl" Visible="false" AutoPostBack="True" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ControlToValidate="ddl"
ID="RequiredFieldValidator1"
runat="server" ErrorMessage="Required"></asp:RequiredFieldValidator>
答案 0 :(得分:2)
您需要在RequiredFieldValidator
上设置InitialValue
属性,以便它知道DropDownList
的值何时发生了变化。例如,在包含以下值的下拉列表中:
Please Select
Dog
Cat
Bird
您可以添加此属性
InitialValue="Please Select"
到RequiredFieldValidator
。
在不知道值是否已更改的情况下,验证者无法知道用户是否满足其要求。