我正在使用带有Kendo Grid控件的ASP.NET MVC App。出于某种原因,我无法在页面加载时获取网格内的数据。
我认为我按照Kendo JS文件引用顺序的顺序做错了。
当我点击右下角的网格刷新图标时,它会以GET模式提取数据并将其作为JSON呈现在整个页面中。
查看代码:: -
@{
ViewBag.Title = "About";
}
<script src="~/Scripts/Kendo/jquery.min.js"></script>
<script src="~/Scripts/Kendo/kendo.all.min.js"></script>
<script src="~/Scripts/Kendo/kendo.aspnetmvc.min.js"></script>
<link href="~/Content/Kendo/kendo.common.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.default.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.dataviz.bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.dataviz.min.css" rel="stylesheet" />
<link href="~/Content/Kendo/kendo.default.mobile.min.css" rel="stylesheet" />
<h2>Demo with Kendo Grid Sample</h2>
<br />
<div>
@(Html.Kendo().Grid<GetUserDataSet_Result>()
.Name("userGrid")
.Columns(columns =>
{
columns.Bound(p => p.ID).Title("ID");
columns.Bound(p => p.FirstName).Title("First Name");
columns.Bound(p => p.LastName).Title("Last Name");
})
.Pageable(pager => pager.Enabled(true).Refresh(true).PageSizes(new List<object> { 10, 20, 50, "all" }))
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(true)
.PageSize(15)
.Model(model => model.Id(p => p.ID))
.Read(read => read.Action("UserData", "Home"))
)
)
</div>
控制器代码:: -
public ActionResult About()
{
//ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult UserData([DataSourceRequest] DataSourceRequest request)
{
MyCloudRepoEntities mx = new my_Nitro_Demo.MyCloudRepoEntities();
List<GetUserDataSet_Result> lstUserData = mx.GetUserDataSet().ToList();
return Json(lstUserData.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:1)
就我而言,问题在于javascript引用和&amp;我在网页的底部引用它们。所以我将脚本引用移动到页面顶部并按以下顺序移动。问题得到解决。
<script src="/my-Nitro/Scripts/jquery-1.10.2.js"></script>
<script src="/my-Nitro/Scripts/Kendo/kendo.all.min.js"></script>
<script src="/my-Nitro/Scripts/Kendo/kendo.aspnetmvc.min.js"></script>
答案 1 :(得分:0)
请为您的网格添加 AutoBind 以便在加载时进行绑定。
@(Html.Kendo().Grid<GetUserDataSet_Result>()
.AutoBind(true)
.Name("userGrid")
//code continues......