2009-06-03 62 views
0

当我更改ddl.Visible = true(它在部分回发/更新面板上从另一个表单元素事件中更改)RequiredFieldValidator不会触发?当更改ControlToValidate可见性时,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>  

回答

2

您需要设置在InitialValue财产您RequiredFieldValidator,以便它知道什么时候DropDownList的价值发生了变化。例如,在使用这些值的下拉列表:

  • Please Select
  • Dog
  • Cat
  • Bird

你会添加此属性

InitialValue="Please Select" 

到您的RequiredFieldValidator

不知道值是否已经改变,验证者不可能知道用户是否满足其要求。

+0

InitalValue有一个默认的String.Empty,这是我的第一个ListItem。只要我不切换可见性,验证器就可以正常工作。 – 2009-06-03 20:07:57

相关问题