Ich bin ziemlich neu in MVC4, EF5 und ASP.Net, und ich kann nirgendwo eine gute Antwort finden.ViewModels oder ViewBag?
Grundsätzlich sollte alles durch das Viewmodel erledigt werden oder ist es Ok, auch viewbag einzubauen?
Angenommen, ich habe eine Methode, die eine Dropdown-Liste auffüllt, und ich verwende ein Ansichtsmodell, um die Ausgabe für die Ansicht darzustellen.
Bin ich ok Viewbag.DropDown = PopulateDropdown();
zu verwenden oder wäre es besser, diese in das Ansichtsmodell zu integrieren, indem Sie eine Eigenschaft Erstellen der List<SelectListItem>
erstellt von PopulateDropdown();
zu halten?
Ich weiß, wie praktisch ViewBag ist, aber ich habe noch keinen Grund zu sehen, es nicht zu verwenden? Wenn mir jemand mehr Einblick geben könnte, wäre das fantastisch.
Danke, Gibt es einen anderen Vorteil über ViewBag Viewmodels abgesehen von der Abstraktion zu verwenden und bietet? – EverythingGeek
Natürlich gibt es das. Sie erhalten Intellisense und Sie können die stark typisierten Versionen der HTML-Helfer in Ihren Ansichten verwenden. Sie erhalten auch einen refektorfreundlichen Code und sind nicht länger auf magische Zeichenfolgen angewiesen. Es ist auch klar, woher die Informationen zu einer bestimmten Ansicht kommen, indem nur das Ansichtsmodell betrachtet wird, in das diese Ansicht stark eingetippt ist. Wenn Sie eine Mischung aus ViewModels und ViewBag verwenden, sollten Sie sich auch die Controller-Aktion ansehen, die den ViewBag setzt. –
Danke für das Aufräumen :) – EverythingGeek