Привязка к сообщению MVC3 RC2 JSON работает неправильно - PullRequest
4 голосов
/ 07 января 2011

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

В моем методе global.asax.cs Application_Start есть следующее:

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

Данные обратной записи выглядят так:

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

My PoCo:

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

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

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

1 Ответ

14 голосов
/ 07 января 2011

Проблема на стороне клиента!У меня не было установлено 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"); }
});
...