-1
我試圖將兩個表單提交給一個操作。我無法弄清楚這是一個好主意,以及如何做得更好。每種形式都有自己的局部視圖,並且兩種形式使用相同的模型。我的意思是模型被表格分開。一次提交兩個表單Asp.Net
這裏是視圖模型和型號:
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提交點擊添加動作。 我的意思是不要調用添加動作兩次,但獲取Foo.Name和Foo.Street從不同的窗體填充,調用添加動作,並將完全填充的Foo模型傳遞給它。
可能嗎?也許還有其他一些方法?
不可以。您只能一次提交一個表單(除非您使用ajax傳遞請求中所有表單的值)。只需要一個包含來自兩個模型的輸入的表單。 –