加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

kendo-ui – Kendo Grid阻止默认请求

发布时间:2020-12-16 06:27:41 所属栏目:asp.Net 来源:网络整理
导读:有没有办法防止默认的ajax请求?我将在 java脚本中进行所有配置之后刷新网格,然后我开始请求,但不知何故,这个kendo网格是在加载页面时自动请求数据. @(Html.Kendo().GridData() .Name("grid") .HtmlAttributes(new { Class = "acceleratorGrid" }) .TableHtm
有没有办法防止默认的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))
)

解决方法

就像为什么会发生这种情况一样快速介绍:当Kendo UI Grid没有任何与之相关的数据,但确实设置了读传输配置选项时,它将触发获取数据的请求.当您使用Ajax绑定和页面大小的项目子集时,排序,分页,过滤,分组等也是如此.

无论如何,对于解决方案,有几种方法可以设置它.

也许最简单的方法就是利用Grid的DataSource的requestStart event并取消任何不符合您标准的数据请求.

您也可以使用帖子评论中提到的autoBind configuration option.

或者,您可以在JavaScript中定义Grid外部的DataSource,然后等待所需方案发生后将其分配给Grid.可以通过一些简单的JS访问和分配Grid的DataSource属性,并且在正确分配DataSource之前,Grid不会启动请求.

总的来说,我建议保持Kendo UI documentation近在咫尺,因为它将为您提供Grid和DataSource的所有事件和配置选项.主要用于JS方面,但您很可能需要在这种特定方案中使用JS.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读