每當我想獲得選定的項目,我必須遍歷每個項目,看看它是否被選中。他們甚至有一個SelectedItem(最後沒有「s」)成員,這對CheckBoxList來說似乎很奇怪。這似乎是一個合乎邏輯的事情,有誰知道他們爲什麼沒有添加它?是否有一個ASP.NET的CheckBoxList沒有SelectedItems成員的原因?
1
A
回答
4
因爲它們沒有在CheckBoxList中實現SelectedItem,而是在CheckBoxList繼承的ListControl中。可以認爲CheckBoxList需要被帶回源代碼,因爲寫入的許多方法都不是「正確的」,但這是一個主觀的論點。 (這是個人咆哮的主題,我剛剛遇到太多CheckBoxList做的事情,而且很煩人,完全是這樣,只是不是我的思維方式我想,而且從來沒有其他人證實它是)
3
我不得不說,因爲複選框列表呈現單獨的HTML複選框,不像單選按鈕可分組,選定的屬性需要逐項評估。
它是documentation的一部分。還請注意,SelectedIndex
將返回lowest index的項目。
的CheckBoxList控件提供了 可以與結合數據 動態地生成一個多 選擇複選框組。它包含一個項目 收集與成員對應 列表中的單個項目。至 確定檢查哪些項目, 遍歷集合, 測試列表中每個 項目的Selected屬性。
4
除了達斯汀的德拉森斯坦的答案。你可以滾你自己:-)
public static IEnumerable<ListItem> SelectedItems(this CheckBoxList cbl)
{
return cbl.Items.Cast<ListItem>().Where(l=>l.Selected == true);
}
1
這也是相當容易的子類的CheckBoxList和實現這個功能你自己,然後你就可以重新使用。
public class ExtendedCheckBoxList : CheckBoxList
{
public List<string> SelectedItems
{
get
{
return (from ListItem item in Items
where item.Selected
select item.Value).ToList();
}
}
}
相關問題
- 1. asp.net checkboxlist沒有javascript
- 2. asp.net的CheckBoxList問題,沒有得到值
- 3. ASP.NET CheckBoxList的檢查沒有存儲
- 4. 原因一個DOMElement ::的getAttribute()時,有沒有這樣的屬性,
- 5. JavaScript沒有一些奇怪的原因
- 6. 是否有一個好的Postgre SQL的ASP.NET成員資格提供程序
- 7. 是否有一個原因Image.FromFile拋出一個無效的圖像格式OutOfMemoryException?
- 8. 是否有原因不使用CustomAttributes?
- 9. 有沒有簡單的方法來判斷一個類/結構是否沒有數據成員?
- 10. 與現有的ASP.NET成員
- 11. 沒有一個叫dequeueReusableCellWithIdentifier成員
- 12. 是否有某個ReferenceProperty可能不會生成反向引用的原因?
- 13. 是否有沒有公共/內部事件提升者的原因?
- 14. 是否有可能在沒有枚舉的結構中存儲錯誤原因?
- 15. 我的Scala安裝似乎很慢,是否有這個原因?
- 16. 沒有代碼的CSS塊的原因?
- 17. Adobe Acrobat重複一個表單沒有明顯的原因
- 18. 有一個面向Tomcat的apache webserver的原因是什麼?
- 19. 沒有成員的列
- 20. 初始化一個數組的成員沒有一個循環
- 21. RSpec沒有任何明顯的原因
- 22. 原因:沒有的AuthenticationProvider發現org.springframework.security.authentication.UsernamePasswordAuthenticationToken
- 23. 沒有得到錯誤的原因
- 24. OptionalDataException沒有明顯的原因
- 25. MappingException的原因:沒有persister for:MyClassProxy
- 26. MailGun參數沒有明顯的原因
- 27. Python:檢查數組是否沒有所需數量的成員
- 28. 'YYSTYPE' 沒有成員
- 29. 是否有可能有一個std :: list作爲C++結構的成員?
- 30. 是否有可能有一個std ::向量的結構與fexible數組成員?
+1,愛推廣方法! – 2010-09-22 16:43:53
非常酷的解決方案,必須開始使用這一個。不過,必須將複選標記給@drachenstern – 2010-09-22 16:47:56