Jestem całkiem nowy dla MVC4, EF5 i ASP.Net i wydaje mi się, że nie mogę znaleźć dobrej odpowiedzi w dowolnym miejscu.ViewModels lub ViewBag?
Zasadniczo, czy wszystko powinno być wykonane za pomocą modelu podglądu, czy też jest w porządku, aby włączyć również tę funkcję?
Powiedz, że mam metodę, która zapełnia listę rozwijaną i używam viewmodel do reprezentowania danych wyjściowych dla widoku.
jestem ok używać Viewbag.DropDown = PopulateDropdown();
lub lepiej byłoby włączenie to w ViewModel, tworząc obiekt do przytrzymaj List<SelectListItem>
stworzony przez PopulateDropdown();
?
Wiem, jak poręczny jest ViewBag, ale nie widzę jeszcze żadnego solidnego powodu, aby go nie używać? Jeśli ktokolwiek mógłby mi zaoferować więcej wglądu, byłoby to fantastyczne.
Dzięki, Czy istnieją inne korzyści przy użyciu ViewModels nad ViewBag oprócz abstrakcji to oferuje? – EverythingGeek
Oczywiście, że istnieje. Otrzymujesz Intellisense i możesz korzystać z mocno wpisanych wersji helperów w swoich widokach. Otrzymujesz również kod przyjazny dla refaktorów i nie polegasz już na magicznych ciągach. Również jest jasne, skąd pochodzą informacje do danego widoku, patrząc tylko na model widoku, do którego ten widok jest silnie wpisany. Jeśli korzystasz z mieszanki ViewModels i ViewBag, powinieneś również spojrzeć na działanie kontrolera, które ustawia ViewBag. –
Dzięki za wyczyszczenie :) – EverythingGeek