2010-11-28 4 views
1

Что было бы лучшим способом создать динамический массив для пользователя, чтобы добавить продукты в корзину, а затем сохранить их в переменной сеанса, мне сказали, что сериализуемые массивы будут работать, но при поиске в Интернете Я пришел на ArrayList, который казался идеальным, но я не могу его реализовать.Как создать динамический массив

У меня есть отдельный класс называется Basket с:

ArrayList basketItems = new ArrayList(); 

Мне нужно, чтобы иметь возможность выбрать продукт из GridView с помощью выберите ссылку или, альтернативно, с помощью ListView и используя свою собственную кнопку, чтобы затем добавить bookID, который затем будет сохранен в переменной сеанса и отправлен на страницу корзины, где bookID будет использоваться снова с таблицей SQL для вывода деталей книги и т. Д.

+1

Вы должны принять ответ, нажав галочку, если вы хотите, чтобы ответ был нужен. Это поможет сообществу. – Win 2010-12-02 22:26:49

ответ

2

Если бы мы были в 2003 году, тогда да, ArrayList мог бы работать нормально, но n ow Я бы порекомендовал вам использовать общий List<T>, который будет безопасным по типу, и вам не нужно лить.

Таким образом, вы могли бы иметь следующий набор:

List<int> productIds = new List<int>(); 
productIds.Add(1); 
productIds.Add(2); 
4

ArrayList является обычным решением .NET 1.x для этой задачи. Если вы используете .NET 2.0 или более позднюю версию, используйте простой общий список (List<T>).

Как это:

var myIDs = new List<int>(); 

Вы можете добавлять элементы с помощью метода Add.

myIDs.Add(2); 
myIDs.Add(42); 

Вы можете присвоить его переменную сессию так:

Session["IdList"] = myIDs; 

И вы можете его восстановить:

var stuff = (List<int>)Session["IdList"]; 

Надеется, что это помогает

Смежные вопросы