Мне просто интересно, где люди создают свой SelectList - в действии или в представлении.ASP.net MVC: Создание SelectList в представлении или действии?
Я видел примеры того и другого, который имеет для меня наибольшее значение, делает это в действии и имеет модель вида, имеющую свойство типа SelectList.
С другой стороны, я видел примеры, когда люди имеют модель представления, имеют свойство SelectList, а SelectList заполняется в модели представления (либо в конструкторе, либо через ленивую загрузку). Мне нравится эта идея, так как это означает, что в моих действиях меньше кода ...
Короче говоря, мне просто интересно, что делают люди.
Приветствия Энтони
Почему? Я был бы рад поддержать вас, если вы предоставите более подробную информацию о том, почему вы считаете, что этот подход предпочтительнее. Легче ли тестировать? Содействовать повторному использованию кода? Лучшее разделение проблем? –
@Seth: Цель сильно типизированного объекта ViewModel состоит в том, чтобы упаковать все данные, необходимые для представления, чтобы правильно отображать их. В этом случае, поскольку для выпадающего списка требуется список элементов, целесообразно включить его в объект ViewModel. Программист, следующий за мной, увидит SelectList в ViewModel и сделает вывод, что он используется для заполнения раскрывающегося списка в представлении. И ему не нужно нигде искать. –
@ Robert: Я полностью согласен с вами.Я хотел сказать, что ваш ответ был выбран как «правильный», и я подумал, что некоторая дополнительная информация может быть полезной для тех, кто сталкивается с этим вопросом в будущем. Я бы предпочел, чтобы новые программисты MVC знали _why_ это предпочтительнее, вместо слепо следуя SO-ответу :) –