キャッシュされた SqlDataSource を使用して Gridview にページングを実装することは可能でしょうか? クエリを 1 回実行したいのですが、結果がキャッシュに保存され、クエリを再実行せずに 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(); //???
}
これは可能でしょうか?