ASP.net, добавление объектов в переменную сеанса - PullRequest
3 голосов
/ 08 ноября 2011

Я пытаюсь добавить объект (ы) в переменную сеанса через обратные передачи. Мой код выглядит следующим образом.

  Supply sup =  Supplies.GetSupply(supplyItemID);

  Session["CartObjects"] += sup;

Теперь компилятор выдает ошибку, в которой говорится, что оператор «+ =» нельзя использовать для типов «object» и «Supply». Нужно ли мне реализовать интерфейс на моем объекте снабжения, который позволяет его добавлять? Это возможно, или я думаю об этом совершенно неправильно.

Ответы [ 3 ]

11 голосов
/ 08 ноября 2011

Попробуйте это:

Supply sup =  Supplies.GetSupply(supplyItemID); 
var cartObjects =  (Session["CartObjects"] as List<Supply>) ?? new List<Supply>();
cartObjects.Add(sup);
Session["CartObjects"] = cartObjects;
5 голосов
/ 09 ноября 2011

, если вы не пытаетесь создать какой-то массив, синтаксис просто

Session["CartObjects"] = sup;
2 голосов
/ 09 ноября 2011

Нет Вам не нужно, просто создайте список поставок и сохраните его в сеансе

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 >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...