是否可以使用缓存的 SqlDataSource 在 Gridview 中实现分页?我想运行一次查询,结果存储在缓存中,然后我可以通过 Gridview 页面并在更改页面时加载缓存的结果,而无需重新运行查询?我知道只获取当前页面所需的记录更有效,但由于我可以选择在页面上导出到 Excel,我希望一次获取所有内容。
<asp:GridView ID="Results" runat="server" AutoGenerateColumns="False"
AllowSorting="true" DataSourceID="SqlDataSource1" OnSorting="Submit_Query" CellPadding="5" Class="highlightable"
OnRowDataBound="Results_RowDataBound"
OnPageIndexChanging="GridView_PageIndexChanging" AllowPaging="true" PageSize="100" EmptyDataText="No Data Found">
</asp:GridView>
SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" EnableCaching="true" ></asp:SqlDataSource>
在页面更改时运行的功能
protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
Results.PageIndex = e.NewPageIndex;
//Submit_Query(); //???
}
这可能吗?