使用jQuery将ViewModel传递给Action

时间:2013-01-10 14:56:16

标签: asp.net-mvc asp.net-mvc-3 jquery

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

控制器:

    [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);

        }
    });

谢谢

1 个答案:

答案 0 :(得分:1)

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

只要您确保使用强类型HTML帮助程序生成表单字段或匹配指定的模型属性,这样就可以正常工作:

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

<input type="text" name="Model.PropertyName" />