2009-06-03 59 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

相關問題