Pra*_*nna 4 kendo-ui kendo-grid kendo-asp.net-mvc
根据要求,我在我的VIEW上有一个Kendo UI网格.但是很遗憾,读取功能没有在控制器中被击中.这很烦人,我遇到了同样的问题,即使每个人看起来都像文件一样在http://demos.kendoui.com/web/grid/index.html上提供.这是我的查看代码:
@(Html.Kendo().Grid<StudentManagement_Models.Student>()
.Name("studentsGrid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Groupable(false);
columns.Bound(p => p.FirstName);
columns.Bound(p => p.MiddleName);
columns.Bound(p => p.LastName);
columns.Bound(p => p.CGPA);
})
.AutoBind(true)
.Pageable()
.Navigatable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetAllStudents", "Student"))
)
)
Run Code Online (Sandbox Code Playgroud)
这是我的控制器动作:
public ActionResult GetAllStudents([DataSourceRequest] DataSourceRequest request)
{
//Thread.Sleep(2000);
StudentManagement_Models.Student student = new StudentManagement_Models.Student();
StudentHelper helper = new StudentHelper();
student.SavedStudents = helper.GetAllStudents();
return Json(student.SavedStudents.ToDataSourceResult(request));
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我错过了什么吗?请提出建议.
提前致谢.
在页面中添加所有此文件
<script src="~/Script/Jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="~/Script/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Script/kendo.all.min.js")" type="text/javascript"></script>
<script src="~/Script/kendo.web.min.js" type="text/javascript"></script>
<script src="~/Script/kendo.aspnetmvc.min.js" type="text/javascript"></script>
<link href="~/Content/kendo.common.min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/kendo.default.min.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
我认为你误解了js你页面中的一个Jquery-1.8.1.min.js.
我在MVC版本中遇到类似的问题。
我注意到我收到了404,但是在Chrome调试器中单击404链接时,确实可以使用我的控制器方法。然后我注意到它使用的是POST(并且我有HttpVerbs.Get)。
然后,我发现了这一点(来自http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/troubleshooting):
默认情况下,在为Ajax绑定配置时,Kendo Grid for ASP.NET MVC应该发出POST请求。这是通过自定义DataSource传输和架构实现的。这些定义在kendo.aspnetmvc.min.js中。确保此文件包含在其他Kendo JavaScript文件之后。
在验证脚本的顺序确实正确之后(并知道它可能与POST有关),我在网格中的Read末尾指定了要使用的动词,如下所示:
.Read(read => read.Action("MyList_Read", "Diagnosis").Type(HttpVerbs.Get))
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题。
| 归档时间: |
|
| 查看次数: |
16189 次 |
| 最近记录: |