0

我正在尝试从部分视图将表单数据提交到 MVC3 控制器。由于某种原因,提交的数据模型永远不会被填充。

这是处理表单提交的 jquery:

        $(document).on('submit', '#FormNewCall', function (e) {
            e.preventDefault();
            $.ajax(
            {
                async: true,
                type: "POST",
                url: $(this).attr('action'),
                data: $(this).serialize(),
                success: function (data) {
                    $("#callTable").replaceWith(data);
                },
                error: function () {
                    alert("Error submitting call");
                },
                complete: function () {
                    CloseNewCall();
                }
            })
        });

我使用“on”(第一行)的原因是因为仅在需要时才通过 jquery/ajax 添加包含“FormNewCall”的部分视图。

控制器中的 ActionResult 如下所示:

    // POST: /Default/SubmitCall/
    [Authorize]
    [HttpPost]
    public ActionResult SubmitCall(ServiceCallModel SubmittedModel)
    {
        if (Request.IsAjaxRequest())
        {
              // Do things before returning a new view
        }
        else
        {
            return View(); 
        }
    }

实际的形式是一个局部视图,有很多这样的东西:

    <div class="rowContainer">
        <tr class="SmallRow">
            <td>@Html.Label("Brief")
            </td>
            <td>@Html.TextBoxFor(m => m.NewCallModel.description)
            </td>
        </tr>
    </div>

当我在控制器中设置断点时,参数“SubmittedModel”存在但所有值都是空的。

似乎属性“Request.Form”是一个 json 字符串,其中包含来自提交表单的所有预期数据。

有什么我想念的吗?

4

0 回答 0