MVC перестроить строго типизированное представление - PullRequest
3 голосов
/ 13 ноября 2010

есть ли способ перестроить строго типизированное представление, когда в класс модели добавлены новые поля?

В настоящее время я не изменил исходное сгенерированное представление, поэтому удаление и повторное создание не является проблемой.

Когда я начну настраивать его по своему вкусу, я потеряю все изменения, и мне стало интересно, есть ли хороший способ справиться с этим?

Спасибо

Ответы [ 2 ]

5 голосов
/ 13 ноября 2010

ASP.NET MVC предлагает два типа строительных лесов, каждый из которых имеет свои преимущества:

Первый вид скаффолдинга - это леса времени разработки, которые выполняются через диалоговое окно «Добавить вид» и шаблоны T4. Преимущество этого в том, что код полностью сгенерирован, и вы можете полностью настроить его. Недостатком является то, что если вы меняете свою модель, вам необходимо восстановить свой вид (удалив его и добавив обратно новый).

Второй тип лесов - это леса времени выполнения, которые, по вашему мнению, выполняются с помощью методов Html.EditorFor() и Html.DisplayFor(). Преимущество этого заключается в том, что если ваша модель изменится, то леса будут автоматически генерироваться во время выполнения. Недостатком является то, что вы не можете напрямую настроить рендеринг. Вы можете , однако, дать этому каркасу много подсказок, используя атрибуты DataAnnotations, такие как [DisplayText], [UIHint] и т. Д., Так что он достаточно гибкий, но не настолько гибкий, как возможность 100% настроить рендеринг.

Чтобы настроить рендеринг леса времени выполнения (шаблоны редактора и шаблоны отображения), вы можете найти дополнительную информацию в серии блогов Брэда Уилсона .

1 голос
/ 13 ноября 2010

Вы можете вручную добавить код в ваше представление, чтобы отразить любые изменения в модели. Скаффолдинг по умолчанию существует только для того, чтобы дать вам что-то.

Одна вещь, на которую вы могли бы обратить внимание, это шаблоны t4, использующие инструменты mvc, генерирующие ваши представления по умолчанию. В Google есть примеры того, как вы можете скопировать их в свой проект и изменить, чтобы mvc генерировал нужные вам представления вместо стандартных.

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