我正在尝试实现自定义Kendo下载,该下载仅包含ASP.NET MVC 4项目中的网格,该项目使用razor生成网格,并使用服务器端代码生成网格数据。我在自定义下载页面中选择了生成这些脚本的适用字段:
我已将脚本和css包含在我的_layout.cshtml页面的标头标记中:
调用网格的代码绑定到一个带有两个字符串属性(name,desc)的简单模型,并调用一个控制器操作:
@(Html.Kendo().Grid<GridStandAloneTest.Models.GridModel>()
.Name("Grid")
.Sortable()
.Pageable()
.DataSource(ds => ds.Ajax().Read("GetPeople", "Home")
.Batch(true)
.ServerOperation(false))
.Columns(x =>
{
x.Bound(c => c.Name);
x.Bound(c => c.Salary);
}))
当页面呈现时,网格可见,但控制器操作永远不会被调用。我还在控制台中得到“未捕获的TypeError:undefined不是函数”。但是,如果我单击一个列,它会调用控制器操作,但它会将其返回到一个新的选项卡,其中包含URL下的JSON数据。
控制器代码如下所示:
public ActionResult GetPeople([DataSourceRequest]DataSourceRequest DataSource)
{
var people = new List<GridStandAloneTest.Models.GridModel>()
{
new GridStandAloneTest.Models.GridModel(){Name = "Jon", Salary = "50,000"},
new GridStandAloneTest.Models.GridModel(){Name = "Joe", Salary = "100,000"}
};
DataSourceResult result = people.ToDataSourceResult(DataSource);
return Json(result, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:5)
你至少有两个问题:
instanceof
不是函数,它指向它检查寻呼机代码的位置。答案 1 :(得分:1)
您包括jQuery 1.7.1
,以及最新版本的KendoUI请求1.9.1+