我知道如何将数据集添加到会话
Dataset ds = GetResults();
Session["xyz "] = ds;
有没有办法可以将数据集附加到会话中?
我正在尝试做类似
的事情 Session["xyz"] = ds + ds1; //ds1 is another dataset
or Session["xyz"] = ds + (Dataset)Session["xyz"];
它会抛出一个错误..有没有办法做到这一点?
答案 0 :(得分: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中存储这些(通常)大对象?
答案 1 :(得分:2)
DataSet 对象具有合并方法
((DataSet)Session["xyz"]).Merge(ds1) ;
答案 2 :(得分:0)
你可能会看到类似这样的错误。
运算符'+'不能应用于'System.Data.DataSet'和'System.Data.DataSet'类型的操作数
允许您添加DataSet的无过载方法必须查看您为什么要定义一个。我想你可以创建一个DataSet对象的集合。也许是字典,例如
Dictionary<DataSet> mydata = new Dictionary<DataSet>();
然后使用Session来存储/检索“mydata”