ControllerA
public ActionResult Index(){ return VIEw();}public ActionResult User_Read(){ viewmodels.viewmodelA objVIEw = new viewmodels.viewmodelA(); objVIEw.MyList = new List<viewmodels.someClass>(); objVIEw.MyList.Add(new viewmodels.someClass() { Firstname = "FN1",Supervisor = "SV1" }); objVIEw.MyList.Add(new viewmodels.someClass() { Firstname = "FN2",Supervisor = "SV2" }); return Json(objVIEw,JsonRequestBehavior.AllowGet);}
viewmodelA
public class viewmodelA{ public List<SomeClass> MyList { get; set; }}public class SomeClass{ public string Firstname { get; set; } public string Supervisor { get; set; }}
Index.csHTML
@using Kendo.Mvc.UI@(HTML.Kendo().GrID<Solution1.viewmodels.viewmodelA>() .name("grID") .Columns(columns => { columns.Bound(c => c.Firstname); columns.Bound(c => c.Supervisor); }) .HTMLAttributes(new { style = "height: 380px" }) .DataSource(dataSource => dataSource .AJAX() .Read(read => read.Action("User_Read","ControllerA")) ))
详细信息:当我运行此页面时,页面加载正常且没有错误,但是,页面上没有填充任何数据.因此,网格存在,但它只显示Firstname和Supervisor的列名.我知道你不应该对数据进行硬编码,但我现在只想在网格上显示一些内容,我希望数据来自Controller.
问题:为了在网格上显示数据,我需要更改什么?此外,根据Controller中的数据,如何向网格添加多行?
更新:我最初提出的问题已部分解决.仍需要帮助才能将数据显示到网格中.
解决方法 要使代码工作,您需要做两件事.>您需要返回一个列表(或者实际上任何支持IEnumerable接口的列表).
>您需要通过调用ToDataSourceResult来格式化返回数据.
于是
public ActionResult User_Read([DataSourceRequest]DataSourceRequest request) { var model = new List<viewmodelA>() { new viewmodelA() { Firstname = "name",Supervisor = "Mgr",},new viewmodelA() { Firstname = "Firstname",Supervisor = "Supervisor",}; return Json(model.ToDataSourceResult(request),JsonRequestBehavior.AllowGet); }
在编辑之前,其他所有内容都与原始示例中的完全相同.
查看Kendo演示解决方案并研究示例.它不是最好的布局演示,有时您需要深入挖掘源代码以确切了解发生了什么,而不仅仅是依赖于演示似乎意味着您需要的内容.例如,在通过AJAX演示填充网格演示中,由AJAX调用并返回数据的实际 *** 作方法未在演示中显示!
总结以上是内存溢出为你收集整理的c# – MVC 4 – Kendo Grid数据绑定全部内容,希望文章能够帮你解决c# – MVC 4 – Kendo Grid数据绑定所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)