-----淘汰js代码------------
var User = function () {
this.UserName = ko.observable();
this.Password = ko.observable();
};
var LoginViewModel = function () {
var self = this;
this.LoginName = '';
this.Password = '';
this.errorvisible = ko.observable(false);
this.User = ko.observable(new User());
this.returnurl = '<%: Url.Action("Home","Home") %>';
this.Login = function () {
$.ajax({
url: '../api/LoginApi/',
contentType: "Application/Json , UTF-8",
dataType: 'json',
type: 'POST',
data: ko.toJson(self.User()),
success: function (data) {
var result = data.ID;
if (result == 400) {
self.errorvisible(true);
} else {
self.errorvisible(false);
window.location.href = self.returnurl;
}
},
error: function () {
alert('failed');
}
});
};
};
ko.applyBindings(new LoginViewModel());
------用户模型类-------------------
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public string UserName { get; set; }
}
public void Post(User value)
{
//This is the post method the webAPI which should get the values of properties in User class
}
当调试器命中Post方法时用户类实例为Null(即Value为Null) 而不是像UserName和Password
这样的属性中的值答案 0 :(得分:0)
您的内容类型contentType: "Application/Json , UTF-8",
错误。
应该是:
contentType: 'application/json; charset=utf-8'
或只是简单地说:
contentType: 'application/json'
没有正确的内容类型Wep.API无法正确处理您的请求,因此您获得了null
参数。