Ich versuche zu verstehen, die beste Möglichkeit zur Implementierung eines DropDownList
in ASP.NET MVC 2 mit dem DropDownListFor
Helfer. Dies ist eine mehrteilige Frage.Die beste Methode zum Implementieren von DropDownList in ASP.NET MVC 2?
Erstens, was ist der beste Weg, um die Listendaten an die Ansicht zu übergeben?
- übergeben Sie die Liste in Ihrem Modell mit einer
SelectList
Eigenschaft, die in die Daten - übergeben Sie die Liste enthält über
ViewData
Wie kann ich einen leeren Wert in den DropDownList
bekommen? Soll ich es in die SelectList
erstellen, wenn ich es erstelle oder gibt es andere Möglichkeiten, dem Helfer zu sagen, dass er automatisch einen leeren Wert erstellen soll?
Schließlich, wenn aus irgendeinem Grund gibt es einen Server Side Error und ich muss den Bildschirm mit der DropDownList
wieder anzeigen, muss ich die Listenwerte wieder in das Ansichtsmodell übergeben? Diese Daten werden nicht zwischen Beiträgen gepflegt (zumindest nicht, wenn ich sie über mein Ansichtsmodell übergebe), so dass ich sie einfach erneut abrufen wollte (sie wird zwischengespeichert). Gehe ich das richtig?
Das Problem mit ViewData ist, dass es Ihren Controller so viel schwieriger zu testen macht. Wenn Sie alles im ViewModel behalten, sind Ihre Tests viel besser. – Mac
Es ist eigentlich überhaupt nicht anders - mit dem ViewModel muss man ViewData.Model spelunkieren, sonst fragt man einfach mit einem Schlüssel danach. Kein Unterschied ... –
http://StackOverflow.com/a/5177332/986862 –