每当我想获得选定的项目,我必须遍历每个项目,看看它是否被选中。他们甚至有一个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