2010-08-22 42 views
1

我想,以驗證列表框列表框是否爲空的或不是我做以下列表框中驗證

protected void isToListEmpty_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     if (toListBox.Items.Count == 0) 
     { 
      args.IsValid = false; 
     } 
     else args.IsValid = true; 
    } 

    <td> 
<asp:UpdatePanel ID="second" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<asp:ListBox id="toListBox" runat="server" Width="150px" Height="200" SelectionMode="Multiple"> 
</asp:ListBox> 
<asp:CustomValidator id="isToListEmpty" runat="server" OnServerValidate="isToListEmpty_ServerValidate" ErrorMessage="Select Student Details" ValidationGroup="verify" ControlToValidate="toListBox"></asp:CustomValidator> 

</ContentTemplate> 

<Triggers> 
<asp:AsyncPostBackTrigger ControlID="ButtonAdd" EventName="Click"></asp:AsyncPostBackTrigger> 
<asp:AsyncPostBackTrigger ControlID="ButtonRemove" EventName="Click"></asp:AsyncPostBackTrigger> 
<asp:AsyncPostBackTrigger ControlID="ButtonAddAll" EventName="Click"></asp:AsyncPostBackTrigger> 
<asp:AsyncPostBackTrigger ControlID="ButtonRemoveAll" EventName="Click"></asp:AsyncPostBackTrigger> 
</Triggers> 
</asp:UpdatePanel> 
</td> 

,但它不爲空的列表框 工作如何檢查呢?請讓我知道

+0

是更新面板驗證器不檢查空的列表框的原因? – NoviceToDotNet 2010-08-22 17:21:30

+0

你能詳細說明它是如何工作的嗎?如果你在'ServerValidate'事件中添加一個斷點,它是否被命中?當斷點被擊中時,Items.Count真的爲零嗎?這段代碼是否也會在空白頁面上失敗(也就是說,其他方法/事件可能會發生干擾?) – Abel 2010-08-22 17:22:33

+0

是不是中斷點? – NoviceToDotNet 2010-08-22 17:23:27

回答

0

更新:答案重寫。

原始提問者找到了以下答案(查看註釋):您必須將ValidateEmptyText設置爲true。

+0

它是在那裏我沒有得到什麼可能是問題Ÿ斷點甚至沒有被擊中 – NoviceToDotNet 2010-08-22 17:35:03

+0

我應該發佈什麼其他代碼爲了瞭解你更多請讓我知道? – NoviceToDotNet 2010-08-22 17:35:44

+0

哦,它確實工作我是設置屬性ValidateEmptyText =「true」; – NoviceToDotNet 2010-08-22 17:43:22