我在将 json 从淘汰赛发送到 mvc2 控制器操作时遇到问题。这是我的观点:
var ViewModel = {
FirstName: ko.observable("FirstName"),
LastName: ko.observable("LastName"),
Save: function () {
ko.utils.postJson(location.href, this);
}
}
ko.applyBindings(ViewModel);
我在控制器中有一个动作:
public virtual ActionResult SomeAction(MyModel model) {
//do smth
return View(registrationModel);
}
public class MyModel {
public string FirstName {get;set;}
public string LastName {get;set;}
}
问题是我得到了引用的字符串值,比如“\”FirstName\“”,我知道有一些方法可以避免这种情况(在 MVC3 中使用 JSON.stringify)。我尝试了以下方法:
ko.utils.postJson(location.href, JSON.stringify({model: this});
还
var json = JSON.stringify({
FirstName: this.FirstName(),
LastName: this.LastName()
});
ko.utils.postJson(location.href, JSON.stringify({model: json});
或者
ko.utils.postJson(location.href, json);
在所有这 3 个选项中,我得到 model = null,或者 Controller 中的所有值都为 null。
也许有人以前做过这个?