kos*_*kov 4 kendo-ui kendo-grid kendo-asp.net-mvc
有没有办法防止默认的ajax请求?我将在java脚本中进行所有配置之后刷新网格,然后我开始请求,但不知何故,这个kendo网格是在加载页面时自动请求数据.
@(Html.Kendo().Grid<Data>()
.Name("grid")
.HtmlAttributes(new { Class = "acceleratorGrid" })
.TableHtmlAttributes(new { Class = "styled", cellpadding = "0", border = "0", margin = "0" })
.Events(e => e.Change("onChange"))
.DataSource(dataSource => dataSource // Configure the grid data source
.Ajax() // Specify that ajax binding is used
.Read(read => read.Action("Products_Read", "Home")) // Set the action method which will return the data in JSON format
)
.Columns(columns =>
{
columns.Bound(product => product.ProductID).Template(@<text></text>).ClientTemplate("<input type='checkbox' onclick='return false' name='checkedRecords' />");
columns.Bound(product => product.ProductName);
columns.Bound(product => product.UnitsInStock);
}
).Selectable(s => s.Mode(GridSelectionMode.Single))
)
Run Code Online (Sandbox Code Playgroud)
小智 5
就像为什么会发生这种情况一样快速介绍:当Kendo UI Grid没有任何数据绑定它,但确实设置了读传输配置选项时,它将触发获取数据的请求.当您使用Ajax绑定和页面大小的项目子集时,排序,分页,过滤,分组等也是如此.
无论如何,对于解决方案,有几种方法可以设置它.
也许最简单的方法就是利用Grid的DataSource 的requestStart事件,并取消任何不符合您标准的数据请求.
您还可以使用发布评论中提到的autoBind配置选项.
或者,您可以在JavaScript中定义Grid外部的DataSource,然后等待所需方案发生后将其分配给Grid.可以通过一些简单的JS访问和分配Grid的DataSource属性,并且在正确分配DataSource之前,Grid不会启动请求.
总的来说,我建议将Kendo UI文档保存在这个场景中,因为它将为您提供Grid和DataSource的所有事件和配置选项.主要用于JS方面,但您很可能需要在这种特定方案中使用JS.
| 归档时间: |
|
| 查看次数: |
5770 次 |
| 最近记录: |