Мое эмпирическое правило заключается в том, что данные должны как-то находиться в модели, либо в виде готового к использованию SelectList, либо, в худшем случае, в каком-либо контейнере, который можно легко превратить в SelectList с помощью вызова LINQ-to-object.*
Суть в том, что представление никогда не должно содержать никакого нетривиального кода.
РЕДАКТИРОВАТЬ (ответ на ваш комментарий): я стараюсь не помещать слишком много кода в модели.Модели больше похожи на простую группу данных, собранных контроллером и используемых представлением.
Что касается простых и / или общих вещей, таких как дни недели, я считаю, что HTML-помощник является наиболее элегантным решением.См. ответ WayneC на этот вопрос .