2011-12-13 43 views
0

我在這裏錯過了什麼嗎? 我無法找到ListBox控件上的SelectedItems屬性。我試圖循環通過它中的選定項目。是的,財產SelectionMode設置爲多個,並不重要。爲什麼ListBox中的IntelliSense中缺少SelectedItems?

爲什麼我不能「看」房產?

+0

SOOOO什麼問題呢? – Shai

+0

問題是我找不到選定的項目。這不明顯嗎? –

+2

2人明顯缺少東西 –

回答

3

重要提示:我誤解了Windows窗體的問題。 以下是不是對於System.Web.UI.WebControls.ListBox爲真。這是關於Windows窗體ListBox

does exist但標有

[BrowsableAttribute(false)] 

所以智能感知不會拿出來給你,但你可以反正使用它。


一個適當的解決方案,也適用於在ASP.NET System.Web.UI.WebControls.ListBox是:

var selectedItems = from item in myListBox.Items.OfType<ListItem>() 
        where item.Selected; 
+0

反正你不能使用它,我得到一個編譯錯誤'System.Web.UI.WebControls.ListBox'不包含'SelectedItems'的定義 –

+0

你的鏈接也是鏈接到一個System.Windows.Forms中的列表框,而不是ASP.NET –

+0

哦..我真的認爲這是一個Windows窗體的問題。我忽略了asp.net標籤。奇怪,我的答案已被接受。 –

1

感謝Noah1989,SelectedItems屬性是中的WebForms不可用。 爲了克服這個問題,只是遍歷ListBox中的所有項目,而如果他們選擇問:

ListItemCollection collection = new ListItemCollection(); 
      foreach (ListItem item in ListBox1.Items) 
      { 
       if (item.Selected) 
        collection.Add(item); 
      } 

或挪亞說 - 只需使用LINQ:from item in items where item.IsSelected

+1

因爲你使用.net 4.0,你仍然可以使用基於LINQ的解決方案而不是那個循環(它看起來像舊時代的陌生人) –

+0

確實。你是絕對正確的。 –

+0

@ noah1989哦沒有看到你的更新答案那裏與LINQ。我把你的問題標記爲接受的答案。 –