【发布时间】:2014-03-30 02:00:05
【问题描述】:
我正在尝试将 Kendo Grid 与 Asp.Net MVC 绑定。我在带有许多其他字段的详细信息页面视图中显示该网格... 记录正确显示,但网格中未显示任何内容。
这是视图的用户控件 (ascx) 中的 Grid 代码:
<% Html.Kendo().Grid<Web.Areas.WorkOrder.ViewModels.PartListViewModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.GlassType);
columns.Bound(p => p.WorkType);
columns.Bound(p => p.PartNumber);
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetPartListInfo", "Claim", new { id = Model.JobId }))
.PageSize(5)
.ServerOperation(false)
)
.Pageable()
.Sortable()
.Groupable()
.Filterable()
.Render();
%>
模型视图如下所示:
public IEnumerable<PartListViewModel> PartList { get; set; }
public string VIN { get; set; }
public string Invoice { get; set; }
public string MileageKM { get; set; }
public EntityModel Provider { get; set; }
public string Comments { get; set; }
…etc, etc
这是来自我的控制器的代码:
public ActionResult GetPartListInfo([DataSourceRequest] DataSourceRequest request, string id)
{
XrmServiceContext xrmServiceContext = new XrmServiceContext();
workorder workOrder = xrmServiceContext.workorderSet.Where(i => i.Id == new Guid(id)).FirstOrDefault();
IEnumerable<PartListViewModel> parts = (xrmServiceContext.workorderproductSet.Where(prod => prod.WorkOrder.Id == workOrder.Id))
.Select(x => new PartListViewModel
{
WOId = id,
Id = x.f1_Product.Id.ToString(),
Quantity = 3,
PartNumber = "WS",,
WorkType = "Repair",
GlassType = "Windshield",
Price = 133
}).ToList();
return Json(parts.ToDataSourceResult(request));
}
我的配置中是否缺少某些内容?我想知道它出了什么问题? 感谢您提供的任何帮助。
【问题讨论】:
-
您确定记录正确吗?您浏览器的网络选项卡中的情况是什么?该特定 Ajax 请求的确切响应是什么?
-
是的,我是,记录是正确的。当我只返回带有第二个参数 JsonRequestBehavior.AllowGet 的 Json 数据时,会显示 JSON 格式的数据。
标签: asp.net ajax binding kendo-ui kendo-grid