0

I know how to add a dataset to a session

Dataset ds = GetResults();
Session["xyz "] = ds;

Is there a way I can append a dataset to a session ?

I am trying to do something like

  Session["xyz"] = ds + ds1; //ds1 is another dataset 
or  Session["xyz"] = ds + (Dataset)Session["xyz"]; 

It throws an error .. is there a way to do it ?

4

3 回答 3

2

您可以将两者都存储在可以存储在会话中的DataSets一个中。List<DataSet>或者你可以使用Tuple<DataSet, DataSet>

Session["xyz"] = Tuple.Create(ds1, ds2);

稍后您可以通过以下方式访问它们:

var bothDataSets = (Tuple<DataSet, DataSet>)Session["xyz"];
DataSet d1 = bothDataSets.Item1;
DataSet d2 = bothDataSets.Item2;

但是,为什么您需要在 Session 中存储这样的(通常)大对象?

于 2013-08-23T20:27:17.770 回答
2

DataSet对象具有Merge方法

((DataSet)Session["xyz"]).Merge(ds1) ;
于 2013-08-23T20:29:54.787 回答
0

您可能会看到类似这样的错误。

运算符“+”不能应用于“System.Data.DataSet”和“System.Data.DataSet”类型的操作数

允许您添加数据集的无重载方法必须了解您为什么要定义一个。我想你可以创建一个 DataSet 对象的集合。也许是一本字典,例如

Dictionary<DataSet> mydata = new Dictionary<DataSet>();

然后使用 Session 存储/检索“mydata”

于 2013-08-23T20:31:24.617 回答