0

是否可以将 viewmodel 传递给使用 jQuery 调用它的控制器操作方法?目前在行动模型是空的。

控制器:

    [HttpPost]
    public ActionResult Action(MyModel model)
    {
        ProcessModel(model);

        return Json(new
        {
            Result = "result"
        });
    }

jQuery:

function Serve() {
    $.ajax({
        type: "POST",
        url: "/Controller/Action",
        dataType: "json",
        error: function (xhr, status, error) {
            //Handle errors here...
        },
        statusCode: {
            404: function (content) { alert('Cannot find resource'); },
            505: function (content) { alert('Status code: 505'); },
            500: function (content) { alert('Internal server error'); }
        },
        success: function (json) {
            alert(json);

        }
    });

谢谢

4

1 回答 1

1

使用api.jquery.com/serialize序列化表单数据,默认的 MVC 模型绑定器将处理将表单值映射到强类型模型。

只要您确保您的表单字段是使用强类型 HTML 帮助程序生成或匹配命名模型属性,这就会很好地工作:

@Html.TextBoxFor(model => model.PropertyName)

或者

<input type="text" name="Model.PropertyName" />
于 2013-01-10T15:51:34.600 回答