2008-11-19 2 views
6

Как видите, here и here Я нехороший друг asp.net MVC SelectList.
На этот раз мне интересно, как подсчитать элементы в нем. Я хочу показать ярлык вместо выпадающего списка, если возможные элементы не предлагают никакого выбора (items.count < 2).Count selectlist items (count IEnumerable)

--EDIT--

Хотя ответ будет, вероятно, тоже работает, легкий способ пойти позвонить

.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(). Функция Count() реализована для IEnumerable, что является большой разницей.