我在我的MVC3应用程序中使用Kendo UI网格,并且对它很满意。我正在使用Telerik提供的示例(摘录如下)来格式化由网格的DataSource盟友发布的数据,并且都很好。不过,我不想依赖这样的代码。我想获得剑道和MVC说话不带“翻译”,即此代码:我如何在我的MVC4应用程序中接受来自Kendo UI数据源的JSON请求?
parameterMap: function(data, operation) {
var result = { };
for (var i = 0; i < data.models.length; i++) {
var model = data.models[i];
for (var member in model) {
result["models[" + i + "]." + member] = model[member];
}
}
return result;
}
这个函数是一个“钩子”,让我操纵data
剑道ajaxes出来之前。默认情况下,Kendo DataSource发送内容类型的表单编码,但不完全正确的MVC模型绑定。如果没有这个,我仍然可以使用FormCollection并执行我自己的绑定,但那不是。
当我配置DataSource
发送JSON,并改变我的映射功能,看起来像这样
parameterMap: function(data, operation) {
return JSON.stringify(data);
}
我得到以下数据是在发送请求,但现在我不知道怎么去MVC绑定到这。现在我唯一的希望是在Action方法中获取Request.Params [0],并自己反序列化这个JSON。
我不认为我应该编写任何代码才能让两个HTTP端点在当今时代使用JSON进行正确通信。我做错了什么,或者我应该在我身边看什么,即请求的接收者。我真的希望最大限度地减少我对客户端的干预,可能只是拨打stringify
。
我需要重新启动该项目以检查此项,但可能有所帮助,谢谢。 – ProfK 2012-10-13 07:23:04