2008-11-19 7 views
6

Wie Sie sehen können here und here Ich bin kein guter Freund von asp.net MVC SelectList.
Dieses Mal frage ich mich, wie man die Items darin zählt. Ich möchte ein Label anstelle eines Dropdowns anzeigen, wenn die möglichen Elemente keine Auswahl bieten (items.count < 2).Count selectlist items (zähle IEnumerable)

--EDIT--

Obwohl Wills Antwort funktioniert wahrscheinlich auch der einfache Weg zu gehen

.GetListItems().Count() 

rufen Dies deaktiviert jede faul holen Sie haben würde, aber da sie sind Ich werde sowieso in einem Dropdown sein, ich denke nicht, dass das ein Problem sein sollte.

+0

Dies scheint veraltet zu sein. In MVC Version 1.0 funktioniert das nicht. Intellisense sagt, die SelectList ist immer noch IEnumerable, aber die Methode GetListItems() ist nicht verfügbar. –

+0

In der Tat ist das veraltet. Außerdem gebe ich nun den Ienumerable selbst auf die View und erstelle die SelectList vor Ort. Das fühlt sich für mich besser an, weil der Controller sich nicht mit der Auswahlliste beschäftigen sollte, da dies ein sichtspezifischer Datentyp ist. –

Antwort

3

Linq keine Erweiterungsmethode für IEnumerable namens Count(). Count() ist für IEnumerable implementiert, was ein großer Unterschied ist.

+0

Kartoffel, Kartoffel - es ist immer noch eine Erweiterungsmethode. Sofern Sie nicht auf eine andere Art der Umsetzung verwiesen haben, würde ich gerne ausgebildet werden. – Suncat2000