1 @(Html.Kendo().Grid<TelerikMvcApp1.Models.CustomerViewModel>() 2 .Name("grid") 3 .Columns(columns => 4 { 5 columns.Bound(c => c.CustomerName).Width(240).Title("CustomerName"); 6 columns.Bound(c => c.CustomerTitle); 7 columns.Bound(c => c.CompanyName); 8 columns.Bound(c => c.Notes); 9 columns.Bound(c => c.Country); 10 columns.Bound(c => c.Quantity); 11 columns.Bound(c => c.UnitPrice); 12 columns.Bound(c => c.BuyDate); 13 }) 14 .Selectable(x => x.Mode(GridSelectionMode.Multiple).Type(GridSelectionType.Row)) 15 .Resizable(resize => resize.Columns(true)) 16 .Scrollable(scr => scr.Height("100%")) 17 .DataSource(dataSource => dataSource 18 .Ajax() 19 .Read(read => read.Action("CustomerList", "Home")) 20 .Model(model => { 21 model.Field(p => p.CustomerName); 22 model.Field(p => p.CustomerTitle); 23 model.Field(p => p.CompanyName); 24 model.Field(p => p.Notes); 25 model.Field(p => p.Country); 26 model.Field(p => p.Quantity); 27 model.Field(p => p.UnitPrice); 28 model.Field(p => p.BuyDate); 29 }) 30 ) 31 )
这是页面的Telerik代码
public ActionResult CustomerList([DataSourceRequest]DataSourceRequest request) { using (TestEntities db = new TestEntities()) { var QueryResults = db.Customers.Select(p => p).ToList(); if (QueryResults.Count > 0) { foreach (var item in QueryResults) { item.CustomerID = item.CustomerID; item.CustomerName = item.CustomerName == null ? "" : item.CustomerName; item.CustomerTitle = item.CustomerTitle == null ? "" : item.CustomerTitle; item.Notes = item.Notes == null ? "" : item.Notes; item.CompanyName = item.CompanyName == null ? "" : item.CompanyName; item.Country = item.Country == null ? "" : item.Country; item.Quantity = item.Quantity; item.UnitPrice = item.UnitPrice; item.BuyDate = item.BuyDate; } } return Json(QueryResults.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); } }
这是后台的代码
这是页面的显示效果
求大神解答。
你这个是Kendo
Kendo就是一个js库
页面的Telerik代码肯定是要解析成js脚本的
刚刚理解错意思了
你请求的页面不对,你要请求你的view的那个地址
就是的第一个前台页面的那个地址
你看你的页面的连接的截图,是CustomerList
@刘宏玺: 不是前一个是方法名,后一个是控制器名吗?刚才我把页面上的telerik代码注释掉,结果页面还是显示的JSON,可见应该是CustomerList方法返回的时候直接输出页面了,没有进入CustomerList.cshtml中处理。这个怎么破??
@嗜血狂魔: 你在后台写
return View(request);
@刘宏玺: 谢谢,我已经解决了,我把功能实现的方法写在了控制器里,没有了return View()所以页面没效果,功能方法应该在控制器方法之外重新写一个,我把概念搞混了,还是谢谢你。金币给你了。
return Json(QueryResults.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
不是一样的吗?
@嗜血狂魔: 我是搞不懂你这样写又要求视图是什么意思.