Мне было поручено преобразовать существующее приложение webforms в бритву mvc 3.
Приложение в настоящее время имеет страницу aspx, которая имеет статический заголовочный пользовательский элемент управления и количество n пользовательских элементов управления, которыединамически создан.В приведенном ниже коде для файла он выполняет приведенный ниже код в различных специальных разделах, чтобы динамически обрабатывать пользовательские элементы управления с информацией, предоставляемой из базы данных.
Я знаю, как статически создавать частичные представления, но я немного новичок вMVC, как бы я определил эту новую страницу "aspx", а также для динамического поиска, загрузки и добавления частичных представлений (каждый эквивалент приведенного ниже кода веб-форм)?
Кстати, код будет на C #а также.
Dim parent As Control = Page.FindControl(_moduleSettings.PaneName)
Dim portalModule As PortalModuleControl = CType(Page.LoadControl(_moduleSettings.DesktopSrc), PortalModuleControl)
parent.Controls.Add(portalModule)
Я думаю, что могу сделать что-то подобное, когда страница рендеринга.Я хочу сделать это как можно проще.
"PaneName" будет установлено в родительской переменной, которая определяет, где на странице он будет отображаться (слева, справа или в основном)
"DeskTopSrc" - это имячастичное представление для отображения.
Итак, выньте код из кода и поместите его в главное представление.Выполните описанную выше логику обработки в представлении (парень, переход от aspx-кода к представлению вызывает цикл. Мне нужно привыкнуть к обработке в представлении. Напоминает мне классический ASP, но синтаксис Razor поможет).
Отображение частичного представления через @ Html.PartialView («имя частичного вида»).Это представление может иметь сетку, связанную с конкретной моделью.
Ниже приведена часть, в которой я не уверен.
Я выполнил обработку базы данных для основного представления, связанного с контроллером, но не с частичным представлением, для которого требуется некоторая обработка базы данных.
Выполнение любой логики обработки базы данных (если есть)для этого частичного представления в контроллере, связанного с основным представлением (которое содержит это частичное представление).
В методе Action Index во время циклического перебора этих «частичных представлений» я могу получить данные и отобразить представления ...
Аааа, я думаю, что получил ....
После тщательного обдумывания, если бы кто-то мог помочь мне с последним здесь утверждением, я был бы очень признателен за это.
1.Имеет ли уже частично созданные статические представления с определенной разметкой HTMLчто мне нужно в папке Views / Shared.
2. В главном представлении у меня уже будут операторы
@Html.Partial(ViewData["partial_view_left"])
@Html.Partial(ViewData["partial_view_right"])
@Html.Partial(ViewData ["partial_view_main"])
в определенных местах HTML, которые будут отображать частичные представления какЯ извлекаю их имена из базы данных.
3.В методе Controller's Index мне нужно сделать следующее:
a) Проходить по преобразованной логике (из CodeBehind существующих веб-форм).страница в событии PageLoad) в методе действия Index нового контроллера, который будет динамически загружать частичные представления.
1) Find out where the partial view will be displayed (left, right, main) from the database via the "parent" variable.
2) Find out the name of the partial view that will be displayed from the database via the “DesktopSrc” variable.
например: ViewData ["частичное_положение_left"] = "левое_представление";ИЛИ
ViewData["partial_view_right"] = "right_view"; OR
ViewData["partial_view_main"] = "main_view";
3) Именно здесь я не уверен, как правильно отображать частичное представление.
Мне нужен эквивалент веб-форм "Controls.Add" дляотрисовывать каждое частичное представление из контроллера, которое я извлекаю из базы данных с шага 3.a.2
What statement can I use in this Index method of the Controller that will accomplish this?
Другими словами, если мне нужно динамически отображать несколько частичных представлений внутри родительского представления, какэто сделано в MVC?
Я знаю, что для каждого частичного представления я могу отправить модель, связанную с ним, но я просто не знаю, как разместить несколько частичных видов на странице основного вида во время выполнения из одного метода Action.