-1

$("#Form") を使用してフォームを送信せずにフォーム データを保存する方法。serializeArray ()。serializeArray を使用している場合、フォーム送信でのみ機能し、ボタンのクリック では機能しません cshtml ページからこの関数を呼び出すと、コントローラー (モデル) でフォーム データを取得できません。私のコードは、

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>
4

1 に答える 1

0

使用したときにデータを取得しています

$("form").serializeArray()

それ以外の

$("#INVOpeningStock_Form").serializeArray()
于 2014-11-10T05:06:56.697 に答える