3

是否可以使用缓存的 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();  //???
        }

这可能吗?

4

0 回答 0