我正在使用 ASP MVC4 应用程序,而不是 Web API。我有这样的 ac# 视图模型:
public class Car{
public int Id {get;set;}
public string Name {get;set;}
}
在客户端我正在使用 knockout.js 并且视图模型是这样的:
function Car(data){
var self = this;
self.id = ko.observable(data.id);
self.name = ko.observable(data.name);
}
当我通过 ajax 将淘汰视图模型发送到服务器时:
$.post("@Url.Action("MyAction")", ko.toJSON(myCar));
MyAction 需要一个 Car 参数:
public JsonResult MyAction(Car model)
{
...
}
但是模型的所有属性总是为空,因为 post 值是小写的,而 Car 属性是大写的。
我正在寻找解决方案,我发现:
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
但这对我不起作用,我认为仅对 Web API 有效。
你知道有什么方法可以使 json 绑定不区分大小写吗?