我有一个具有2个动作的控制器:
public class OrganizationUnitsController : Controller
{
public ActionResult Create()
{
// return empty form
return View();
}
[HttpPost]
public ActionResult Save(OrganizationUnitViewModel unitViewModel)
{
// Save the new unit to the DB
return View();
}
}
该Create.cshtml是:
@using (Html.BeginForm("Save", "OrganizationUnits", FormMethod.Post, new { @id = "form", @class = "form-horizontal" }))
{
<!-- Some inputs -->
<a href="" class="btn btn-primary">Save</a>
}
$('#form')
.on('submit',function (e) {
e.stopPropagation();
$.ajax({
url: '@Url.Action("Save", "OrganizationUnits")',
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
Name: $('#Name').val(),
Admin: JSON.stringify({ 'FullDescription': $('#Admin').val() }),
Members: JSON.stringify( $('#users_list_box').val() )
});
});
问题是,当我单击保存按钮时,使unitViewModel并将表单传递给Save操作的javascript代码没有被调用,而Create操作被调用了。
将@ Html.BeginForm()中的控制器动作更改为null不能解决问题。
我该如何解决?
素胚勾勒不出你
相关分类