Оберните раздел и основное тело в одну форму в ASP.NET MVC 3 - PullRequest
1 голос
/ 12 марта 2012

В моем проекте ASP.NET MVC 3 у меня есть мастер-макет с определенным разделом.Этот раздел отвечает за отображение контента на боковой панели, когда ему назначено любое содержимое.

Проблема, с которой я столкнулся, заключается в следующем:

У меня есть несколько видов редактирования, где обабоковая панель и основная область используются для редактирования данных.В этом случае боковая панель и основной корпус должны быть объединены в одну форму с помощью одной кнопки отправки.

Какое для этого лучшее решение?Решение, которое я придумал, заключается в том, что, когда упомянутые мной функции необходимы, я устанавливаю логическое свойство в моем ViewBag.Если это свойство имеет значение true, основной макет отображается с боковой панелью, а основная область содержимого обернута в форму.

Есть ли лучший способ для этого?Решение, которое я описал, немного "хакерское" для меня.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

У меня было бы два макета.Один с отдельной боковой панелью, а другой без.Затем на страницах, где вам нужна боковая панель с редактируемыми полями, вы включаете боковую панель на своей странице содержимого, а не в главной.

1 голос
/ 14 марта 2012

Логическое значение, которое вы используете в ViewBag, может быть лучше представлено в модели для просмотра главной страницы. Затем вы можете включить боковую панель, используя частичный вид. Это будет выглядеть примерно так ...

master.cshtml:

@using (Html.BeginForm("ActionName", "Controller", "POST")){
        //
        // Master form elements go here
        //

    //Side bar
   @if(Model.ShowSideBar){
     @Html.Partial("MySideBarPartialView" [, Model.SideBarModel ] )

   @}
@}

Ваша модель (если есть) должна иметь свойство, установленное с моделью для боковой панели.

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