MVC3 RC2 JSON Post绑定无法正常工作

时间:2011-01-07 16:49:34

标签: asp.net-mvc json model-binding

我已经看过关于这个主题的其他帖子,并且已经摆弄了变化,但仍然无法让JSON模型绑定正常工作。

我在global.asax.cs Application_Start方法中有以下内容:

ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());

回发后的数据如下:

{"UserName":"Mike","Password":"password","Persist":true}

我的PoCo:

public class UserLoginViewModel {
    public string UserName { get; set; }
    public string Password { get; set; }
    public bool Persist { get; set; }
}

控制器方法正常触发但具有UserName = null,Password = null和Persist = false的默认UserLoginViewModel对象;签名如下所示:

[HttpPost]
public ActionResult Logon(UserLoginViewModel model) {
    if (ModelState.IsValid) { 
    ...

1 个答案:

答案 0 :(得分:14)

问题出在客户端!我没有设置contentType。

$.ajax({
    url: location.href, 
    type: "POST",
    data: ko.toJSON(this),
    datatype: "json",
    **contentType: "application/json charset=utf-8",**
    success: function (data) { alert("success"); }, 
    error: function (data) { alert("error"); }
});