Zastanawiam się, gdzie ludzie tworzą swoją listę wyboru - w akcji lub widoku.ASP.net MVC: Tworzenie SelectList w widoku lub akcji?
Widziałem przykłady zarówno tych, jak i tych, które są dla mnie najbardziej sensowne, ponieważ robią to w akcji i mają model widoku ma właściwość typu SelectList.
Z drugiej strony widziałem przykłady, w których ludzie mają model widoku mają właściwość SelectList, a SelectList jest wypełniany w modelu widoku (w konstruktorze lub poprzez leniwy ładowanie). Podoba mi się ten pomysł, ponieważ oznacza to, że w moich działaniach jest mniej kodu ...
Krótko mówiąc, zastanawiałem się, co robią ludzie.
Cheers Anthony
Dlaczego? Byłbym szczęśliwy, gdyby udało się przedstawić bardziej szczegółowe informacje na temat tego, dlaczego uważasz, że to podejście jest lepsze. Czy łatwiej jest testować? Promować ponowne wykorzystanie kodu? Lepsze oddzielenie obaw? –
@Seth: Celem mocno napisanego obiektu ViewModel jest spakowanie wszystkich danych wymaganych przez widok, aby renderować go poprawnie. W takim przypadku, ponieważ lista rozwijana wymaga listy elementów, należy ją uwzględnić w obiekcie ViewModel. Programista, który będzie podążał za mną, zobaczy Listę SelectList w ViewModel i wywnioskuje, że jest używana do zapełnienia listy w widoku. I nie musi szukać nigdzie indziej. –
@Robert: Całkowicie się z tobą zgadzam.Chodzi mi o to, że twoja odpowiedź została wybrana jako "poprawna" i pomyślałem, że dodatkowe informacje mogą okazać się pomocne dla kogoś, kto napotka to pytanie w przyszłości. Wolałbym nowych programistów MVC wiedzieć, dlaczego to jest lepsze, zamiast ślepo podążać za odpowiedzią SO :) –