【发布时间】:2012-12-28 23:15:09
【问题描述】:
当我尝试将 json 反序列化为 MVC4 中的对象时遇到问题。
我有一个视图模型:
public class TestViewModel
{
public string Code { get; set; }
}
在视图中,我使用 Json.net 获取模型并序列化对象
var Vm = function(data) {
var self = this;
ko.mapping.fromJS(data, {}, self);
self.GetResults = function() {
$.ajax({
type: "POST",
url: '@Url.Action("Action", "Controller")',
data: ko.mapping.toJSON(self),
success: function(data) {
alert('OK');
}
});
};
};
var viewModel = new Vm(@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model)));
ko.applyBindings(viewModel);
我的问题是当我在控制器中调用 GetResults 动作时,所有属性都是空的。
我的 Json 是:
{"Code":"TestCode"}
我在 MVC3 项目中具有相同的结构并且工作正常。我在 MVC4 中遗漏了什么?
干杯!
【问题讨论】:
-
您是否尝试过使用 Fiddler 查看请求和响应的样子?
-
是的,请求看起来不错,它有 Content-Type: application/json Accept: application/json, text/javascript, /; q=0.01,问题中的json {"Code":"TestCode"}
标签: json asp.net-mvc-4 knockout.js knockout-mapping-plugin