我有一个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来重新填充网格。
是否有更好,更有效的方法来存储数据集,以便以后可以在同一页面中使用?这种策略适用于较小的报告,但它导致我的报告只是计时,然后完全关闭。