Если у вас уже есть строго типизированное представление, вам даже не стоит думать о ViewBag / ViewData.Как только вы строго напечатали представление для модели представления, все, что вам нужно сделать в этом представлении, это использовать свойства этой модели представления, например, так:
@foreach (viewModel vm in Model.SomeSubModels)
{
//some foo bar
}
или даже лучше, чтобы избежать ужасного foreach
циклы в ваших представлениях, вы можете использовать шаблоны редактора (если вам нужно отредактировать некоторые свойства):
@Html.EditorFor(x => x.SomeSubModels)
или использовать шаблон отображения (если вы хотите отображать значения свойств вашей модели представления только вuser):
@Html.DisplayFor(x => x.SomeSubModels)
Итак, вот пара основных правил, которым нужно следовать при разработке приложения ASP.NET MVC (в таком порядке):
- вы забыли о ViewBag /ViewData.Как будто их не было.Вы просто уничтожаете их.Если вы забудете о них, вы окажете реальную услугу себе.
- вы определяете модель представления, которая представляет собой класс, содержащий все свойства, которые понадобятся вашему представлению.
- у вас есть действие контроллеразапросите ваши репозитории и модели доменов и отобразите результаты в эту модель представления, которая будет передана в представление.
- в соответствующем представлении вы просто используете свойства модели представления, предоставленные действием контроллера, для отображения некоторой информации.
Правило № 1. является реальным основами и наиболее важным.Если вы не соблюдаете это правило, вы на самом деле не правильно делаете ASP.NET MVC.