使用$("#form")保存表单数据而不提交表单的任何方法serializeArray()。当我使用serializeArray时,它只适用于表单提交,不适用于按钮单击当我从cshtml页面调用这个函数时,我不会在我的控制器(Model)中获得表单数据。我的代码是,
function SaveCall() {
$("#ItemData").val(JSON.stringify($("#jqxOpStockGrid").jqxGrid('getboundrows')));
$.ajax({
url: '/INVOpeningStock/create',
type: 'POST',
data: $("#INVOpeningStock_Form").serializeArray(),
cache: false,
aync: false,
success: function (data) {
if (!data.success) {
} else {
}
}
});
}
我的控制器方法中的Ajax调用命中。但参数模型是空的。我的控制器方法是:
[HttpPost]
public ActionResult Create(INVOpeningStock invopeningstock )
{
//Method Body
}
我的cshtml页面代码是
@using (Html.BeginForm(new { id = "INVOpeningStock_Form" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset class="fieldset">
<table width="100%" align="center" class="textleft">
<tr>
<td width="20%">
<div class="editor-label">
@Html.LabelFor(model => model.cName)
</div>
</td>
<td width="80%" align="left">
<div class="editor-field">
@Html.TextBoxFor(model => model.cName, new { maxlength = 50, @class = "textbox mediumtxt reqtext" })
</div>
@Html.ValidationMessageFor(model => model.cName, "", new { @class = "required" })
</td>
</tr>
</table>
</fieldset>
当我使用时,我正在获取数据
$("form").serializeArray()
代替
$("#INVOpeningStock_Form").serializeArray()