MVC: В каком компоненте указаны детали представления данных? - PullRequest
0 голосов
/ 23 сентября 2010

Пример подделка.

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>

Моя проблема с текстом выше состоит в том, что он делает просмотр слишком сложным (слишком сложным для моего веб-дизайнера, чтобы иметь возможность его изменять).

Вопрос: Куда я могу переместить это решение?

  1. Свойство Student модели является бизнес-объектом и не должно содержать деталей рендеринга.
  2. Должен ли я добавить метод для Model: Model.GetAgeAsText(Student student)? Но потом я получаю множество свободно висящих методов на Model, которые плачут, чтобы быть сгруппированными во что-то ... но что?
  3. Я мог бы создать пользовательский элемент управления StudentAgeShower, это, кажется, самое правильное решение, но кажется немного излишним.

Есть предложения?

1 Ответ

2 голосов
/ 23 сентября 2010

Создайте модель представления студента со всеми заранее подготовленными решениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...