当使用MVC捕获表单中的信息时,我是否可以在两个视图中拆分from但仍使用单个模型,并在最后一个表单中写入db?
例如,Account.cs模型具有名称和姓氏 我希望view1捕获名称,view2捕获姓氏,当我点击提交时,它必须写入数据库。
答案 0 :(得分:1)
您可以在喜欢的视图中使用模型。实际上,MVC的一个特性是它允许您使用不同视图的相同模型和控制器动作以不同的方式呈现相同的数据。
但是,在这种情况下,您将负责将第一个视图中的数据导入第二个视图,因此提交操作可以同时写入。
答案 1 :(得分:0)
我不相信可以在两个视图中使用单个表单。但是,您可以使用单个模型为两个视图使用两种形式。在view1中,捕获名称并调用以下控制器操作:
public ActionResult(Account model)
{
return View("View2", model");
}
然后,只需使用隐藏的输入来存储view2中的view1信息:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true)
@Html.HiddenFor(x => x.Name)
@Html.TextBoxFor(x => x.Surname)
</div>
}