我正在尝试将两种表格提交给一个动作。我不知道这是一个好主意,以及如何做得更好。每种形式都有自己的部分视图,并且使用相同的模型两种表单。我的意思是模型由表格分开。
这是视图模型和模型:
public class TestViewModel
{
public Foo Foo { get; set; }
// here is some other data for main form
}
public class Foo
{
public string Name { get; set; }
public string Street { get; set; }
}
动作方法:
[HttpPost]
public ActionResult Add(Foo foo)
{
return View();
}
主视图:
@model SushiJazz.Models.ViewModels.TestViewModel
<body>
<div id="frmName">
@{Html.RenderPartial("NameFrm"); }
</div>
<div id="frmStreet">
@{Html.RenderPartial("StreetFrm"); }
</div>
<div>
<input type="submit" value="btn" id="btn-submit"/>
</div>
</body>
第一形式:
@model SushiJazz.Models.ViewModels.TestViewModel
@using (Html.BeginForm("Add", "Test", FormMethod.Post, new { @id="name-frm"}))
{
@Html.TextBoxFor(model => model.Foo.Name);
<input type="submit" value="name" />
}
第二形式:
@model SushiJazz.Models.ViewModels.TestViewModel
@using (Html.BeginForm("Add", "Test", FormMethod.Post, new { @id="street-frm"}))
{
@Html.TextBoxFor(model => model.Foo.Street)
<input type="submit" value="street" />
}
我想通过btn-submit单击提交这两种表格以添加操作。我的意思是不要调用两次添加操作,而是要获得foo.name and foo.Street填充不同表格,请添加操作并将完全填充的Foo模型传递给它。
有可能吗?也许还有其他一些方法?
我想您只是在演示一个概念,因为在这种情况下,将这些小部分分为单独的部分视图没有任何意义。
,但只需将@using (Html.BeginForm...
从每个部分视图移动,以将所有标记都包含在主视图中,并包含两个@{Html.RenderPartial
部分。