Я чувствую, что мой вопрос близок к этому, но я хочу более общее обсуждение того, где должен находиться код, подобный этому. Вопрос рефакторинга Asp.Net MVC SelectList?
В настоящее время я создаю свои списки выбора непосредственно на моей модели сущности, вот так.
public SelectList taskDeadlineTime
{
get { return new SelectList(TimeDictionary, "Value", "Key", this.getDeadlineTime()); }
}
Это выглядит немного неправильно, как будто я выполняю работу по просмотру внутри моей модели.
Однако это означает, что я могу просто получить свойство, и мой список выбора там.
Теперь я должен поместить эту логику в свой контроллер (больше кода для записи) или в представление (кажется неправильным и грязным) или просто делать это по-другому.
Причина, по которой я сейчас это смотрю, заключается в том, что я работаю со сравнением двух копий одного и того же объекта, а наличие списков выбора как части метода получения напрямую означает, что это не работает. Я знаю, что мог бы изменить это сравнение, чтобы справиться с этим, но просто неправильно делать что-то визуальное в модели (если подготовка списка выбора не является правильной вещью в модели)