1

为用户创建动态数组以将产品添加到购物篮然后将它们存储在会话变量中的最佳方法是什么,我被告知可序列化数组可以工作,但是在网上寻找解决方案时,我遇到了一个ArrayList看起来很完美的解决方案但我似乎无法实现它。

我有一个单独的类Basket,名为:

ArrayList basketItems = new ArrayList();

我需要能够使用选择链接从网格视图中选择产品,或者使用列表视图并使用我自己的按钮将其添加bookID到数组中,然后将其存储在会话变量中并发送到购物篮页面将bookID再次用于 SQL 表以输出书籍的详细信息等。

4

2 回答 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"];

希望这可以帮助

于 2010-11-28T18:17:35.693 回答
2

如果我们在 2003 年,那么是的,ArrayList本来可以正常工作的,但现在我建议您使用List<T>类型安全且不需要强制转换的泛型。

所以你可以有以下集合:

List<int> productIds = new List<int>();
productIds.Add(1);
productIds.Add(2);
于 2010-11-28T18:15:23.773 回答