2011-01-07 2 views
4

Я видел другие сообщения на эту тему и искал вариации, но все еще не могу заставить JSON привязывать модель к работе правильно.MVC3 RC2 JSON Post Binding не работает правильно

У меня есть следующий в моем Global.asax.cs метода Application_Start:

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

Сообщения обратно данные выглядят следующим образом:

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

Моей РоКо:

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

Метод контроллера срабатывает правильно, но имеет объект UserLoginViewModel по умолчанию с UserName = null, Password = null, и Persist = false; подпись выглядит следующим образом:

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

ответ

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"); } 
}); 
+0

Был ли тот же самый вопрос тоже – Korayem

Смежные вопросы