2014-07-30 4 views
0

При использовании MVC для сбора информации в форме, могу ли я разбить ее на два вида, но по-прежнему использовать одну модель и написать в db в последней форме?Два вида 1 Модель MVC

Например, модель Account.cs имеет имя и фамилию Я хочу, чтобы view1 захватил имя, view2, чтобы записать фамилию, и когда я нажму кнопку submit, он должен записать в db.

ответ

1

Вы можете использовать модель на любом количестве видов, которые вам нравятся. На самом деле одна из особенностей MVC заключается в том, что она позволяет использовать одну и ту же модель и действие контроллера с разными представлениями для представления одних и тех же данных разным способом.

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

0

Я не верю, что можно использовать одну форму на двух видах. Однако вы можете использовать две формы для двух представлений, используя одну модель. В view1, захватить имя и вызовите следующее действие контроллера:

public ActionResult(Account model) 
{ 
    return View("View2", model"); 
} 

Затем просто использовать скрытый вход для хранения информации от view1 в том виде, в view2:

@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 
    <div class="form-horizontal"> 
     @Html.ValidationSummary(true) 
     @Html.HiddenFor(x => x.Name) 
     @Html.TextBoxFor(x => x.Surname) 
    </div> 
} 
Смежные вопросы