Пример подделка.
ASP.NET MVC: у меня есть представление, которое отображает информацию об ученике. Информация об ученике состоит из имени, фамилии и (необязательно) возраста (объявляется как int?
).
Информация об ученике отображается примерно так: если возраст не указан, я хочу показать «не указано»:
<span><%= Model.Student.FirstName %></span>
<span><%= Model.Student.LastName %></span>
<span><%= Model.Student.Age.HasValue ? Model.Student.Age.ToString() : "not specified" %></span>
Моя проблема с текстом выше состоит в том, что он делает просмотр слишком сложным (слишком сложным для моего веб-дизайнера, чтобы иметь возможность его изменять).
Вопрос: Куда я могу переместить это решение?
- Свойство
Student
модели является бизнес-объектом и не должно содержать деталей рендеринга.
- Должен ли я добавить метод для Model:
Model.GetAgeAsText(Student student)
? Но потом я получаю множество свободно висящих методов на Model, которые плачут, чтобы быть сгруппированными во что-то ... но что?
- Я мог бы создать пользовательский элемент управления
StudentAgeShower
, это, кажется, самое правильное решение, но кажется немного излишним.
Есть предложения?