将数据集存储在临时位置以供以后使用?

时间:2014-03-31 22:07:16

标签: c# dataset code-behind

我有一个C#项目,在代码隐藏中我填写了一个数据网格。目前,我有一段看起来像这样的代码:

     connection2.Open();
     GridView_Reports.EmptyDataText = "No Records Found";

     // Fill a dataset so we can write it to a session variable for later use
     var adapter = new SqlDataAdapter(cmd2);
     var ds = new DataSet();
     adapter.Fill(ds, "MyTableName");

     // Now fill the session variable
     Session["SSRptMenu"] = ds;

     // Fill the datagrid with the dataset
     GridView_Reports.DataSource = ds;
     GridView_Reports.DataBind();

我意识到这是" cludgy",但它或多或少有效。直到我遇到可能有多达50,000条记录的报告。问题是,我在页面上有一个导出功能,如果用户想要导出数据,那么需要重新填充数据网格。我不想要这个。我想要一个我可以反复调用的数据集,而不必通过重新运行它后面的SQL来重新填充网格。

是否有更好,更有效的方法来存储数据集,以便以后可以在同一页面中使用?这种策略适用于较小的报告,但它导致我的报告只是计时,然后完全关闭。

0 个答案:

没有答案