我正在尝试在回发中添加一个对象到一个会话变量。我的代码看起来类似于以下内容。
Supply sup = Supplies.GetSupply(supplyItemID);
Session["CartObjects"] += sup;
现在,编译器抛出一个错误,指出“+ =”运算符不能用于'object'和'Supply'类型。我是否需要在我的Supply对象上实现允许添加它的接口?这是可能的,还是我以完全错误的方式思考这个问题。
答案 0 :(得分:11)
试试这个:
Supply sup = Supplies.GetSupply(supplyItemID);
var cartObjects = (Session["CartObjects"] as List<Supply>) ?? new List<Supply>();
cartObjects.Add(sup);
Session["CartObjects"] = cartObjects;
答案 1 :(得分:5)
除非您尝试创建某种类型的数组,否则语法只是
Session["CartObjects"] = sup;
答案 2 :(得分:2)
不,你不需要,只需创建一个供应清单并将其保存在会话中
var supplyList = new List<Supply >();
Supply sup = Supplies.GetSupply(supplyItemID);
supplyList.Add(sup);
Session["CartObjects"] =supplyList;
and
and cast it as supply List
var list = Session["CartObjects"] as List<Supply >