2008-11-19 14 views
6

Como puede ver here y here No soy un buen amigo de asp.net MVC's SelectList.
Esta vez me pregunto cómo contar los elementos. Quiero mostrar una etiqueta en lugar de un menú desplegable si los elementos posibles no ofrecen ninguna opción (items.count < 2).Elementos de la lista de conteo (cuenta IEnumerable)

--EDIT--

Aunque la respuesta de Will trabaja probablemente también, la manera fácil de seguir es llamar

.GetListItems().Count() 

Esto desactiva cualquier perezoso ir a buscar que tendría, pero ya que son va a estar en un menú desplegable de todos modos, no creo que deba ser un problema.

+0

Esto parece estar desactualizado. En MVC versión 1.0, esto no funciona. Intellisense dice que SelectList sigue siendo un IEnumerable pero el método GetListItems() no está disponible. –

+0

De hecho, esto está desactualizado. Además, ahora paso el Ienumerable a la vista y creo la Lista Select en el acto. Esto se siente mejor para mí porque el controlador no debería estar molestando con la lista de selección ya que este es un tipo de datos de vista específica. –

Respuesta

3

LINQ no tiene un método de extensión de IEnumerable llamado Count(). Count() se implementa para IEnumerable, que es una gran diferencia.

+0

Patata, patata: sigue siendo un método de extensión. A menos que se refiriera a un tipo diferente de implementación, en cuyo caso me gustaría ser educado. – Suncat2000

Cuestiones relacionadas