【发布时间】:2013-02-20 15:01:06
【问题描述】:
我正在将 AJAX 数据绑定 Telerik 网格迁移到 Kendo UI 网格。
使用 Telerik,控制器方法返回 PartialViewResult(使用内部框架函数调用),但使用新的 Kendo UI 网格,我只能通过返回 JsonResult 使其工作。
如果我返回 PartialViewResult,网格将呈现为空。
问题:
是否可以使用 Kendo UI 网格返回 PartialViewResult?
Telerik 代码:
[GridAction]
public PartialViewResult SelectProducts()
{
return DoChildReadingAction(() =>
_service.GetAllProducts().ToProductListItemViewModels(), "_ChildError");
}
剑道用户界面代码:
public JsonResult SelectProducts([DataSourceRequest]DataSourceRequest request)
{
return Json(_service.GetAllProducts().ToProductListItemViewModels()
.ToDataSourceResult(request));
}
【问题讨论】:
-
尝试从浏览器打开提供数据的 URL 并检查返回 JSON 的格式或编辑包含返回页面的原始问题,我们可能会对其进行查看。
-
OnaBai,我希望这能回答你的问题: ContentEncoding = null ContentType = null Data = DataSourceResult with 14 items, Errors is null JsonRequestBehavior 是 DenyGet,但我修改为添加参数 AllowGet 然后我正在喂这个到 DoChildReadingAction(),它返回一个 PartialViewResult,其中 Model 包含 JsonResult。
-
实际上,我要求 JSON 是为了帮助您指定
DataSource定义的外观。似乎您在DataSourceResult中返回结果数组,这意味着schema.data应该是"DataSourceResults"(请参阅docs.kendoui.com/api/framework/…)但不知道JSON 是否到达浏览器并且既看不到代码也看不到JSON 很困难找出为什么不显示。浏览器控制台是否显示任何错误? -
使用 Fiddler 我看得更清楚,我得到“_ChildError”页面,它返回错误 500。JSON 为空。所以问题出在 DoChildReadingAction() 函数调用中。谢谢 OnaBai。
标签: c# asp.net-mvc telerik kendo-ui