2008-11-19 57 views
6

正如你所看到的herehere我不是asp.net MVC的SelectList的好朋友。
这次我想知道如何计算它中的项目。如果可能的项目不提供任何选项(items.count < 2),我想显示标签而不是下拉菜单。计数选择项目(计数IEnumerable)

- 编辑 -

尽管威尔的答案很可能也工作,最简单的方法去的是调用

.GetListItems().Count() 

这将禁用任何懒抓取你会,但因为他们是无论如何,我会认为这应该是一个问题。

+0

这看起来已经过时了。在MVC 1.0版中这是行不通的。 Intellisense表示SelectList仍然是IEnumerable,但GetListItems()方法不可用。 – 2009-09-11 13:47:41

+0

的确,这已经过时了。此外,我现在将Ienumerable本身传递给视图并在现场创建SelectList。这让我感觉更好,因为控制器不应该因为selectlist而烦恼,因为这是一个特定于视图的数据类型。 – 2009-09-14 12:59:08

回答

3

LINQ的扩展方法不具有用于IEnumerable的扩展方法称为计数()。 Count()是为IEnumerable实现的,这是一个很大的区别。