Asp.net 如何创建web网格页面并使用viewstate而不是重新运行查询

Asp.net 如何创建web网格页面并使用viewstate而不是重新运行查询,asp.net,data-binding,Asp.net,Data Binding,我有一个网络网格,选择你最喜欢的,因为我真的不认为它改变了这个问题的答案-微软,Telerik,Dev Express-我把它设置为使用分页 我使用的是Telerik,但我没有把它放在标签中,因为我认为问题不在于网格本身,而是在于如何定位数据绑定代码 我有一个继承自WebConrol的类,当我分页网格时,该代码再次运行,从而重新绑定网格。我的问题是多次不必要地访问数据库(并等待) 我将为~any~类型的web数据网格获取答案。我想如果必要的话,我可以把它翻译成我的网格类型 导入系统数据 导入Sy

我有一个网络网格,选择你最喜欢的,因为我真的不认为它改变了这个问题的答案-微软,Telerik,Dev Express-我把它设置为使用分页

我使用的是Telerik,但我没有把它放在标签中,因为我认为问题不在于网格本身,而是在于如何定位数据绑定代码

我有一个继承自
WebConrol
的类,当我分页网格时,该代码再次运行,从而重新绑定网格。我的问题是多次不必要地访问数据库(并等待)

我将为~any~类型的web数据网格获取答案。我想如果必要的话,我可以把它翻译成我的网格类型

导入系统数据
导入System.Web.UI.WebControl
导入Telerik.Web.UI
导入System.Web.UI
导入系统。绘图
_
_
公共类报表网格
继承CompositeControl
专用网格作为RadGrid
作为RadGrid的私有只读属性网格
得到
如果网格是空的,那么
_网格=新的RadGrid
_Grid.ClientSettings.Scrolling.UseStaticHeaders=True
“\u Grid.Skin=“黑色”
_Grid.AllowFilteringByColumn=True
_Grid.EnableAjaxSkinRendering=True
_Grid.allowpage=True
_Grid.AllowSorting=True
_Grid.ViewStateMode=System.Web.UI.ViewStateMode.Enabled
_Grid.GridLines=网格线。两者都是
如果结束
返回网格
结束
端属性
受保护的覆盖子CreateChildControls()
控件。添加(网格)
'如果不是Page.IsPostBack,则
'此代码在每次加载页面时都会运行
Dim DataTable As DataTable=MyCompany.Library.Database.GetDataTable(“我的连接字符串”、“我的查询”)
Grid.DataSource=DataTable
Grid.DataBind()
"完"
端接头
末级

作为Telerik用户,我建议使用RadGrid的OnnedDatasource来处理分页数据。有关如何工作的更多信息,请参见此处:

如果要在网格中显示数十万或数百万条记录,则需要考虑使用自定义分页解决方案,即只从数据源中提取需要在当前网格页面上显示的记录,而不是每次回发时都提取所有记录

看看这个例子,了解如何在Telerik RadGrid中实现自定义分页:


我希望它可以在开始时获取所有数据,然后使用javascipt(ajax技术)进行分页。我不敢相信这样一个受欢迎的“大”电网不能做到这一点。早在1998年,我就使用了一个xml岛,并在客户机上立即分页——这是在AJAX之前!