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