如何创建动态数组

发布于 2024-10-05 14:07:09 字数 382 浏览 6 评论 0原文

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

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

ArrayList basketItems = new ArrayList();

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

What would be the best way to create a dynamic array for a user to add products to a basket then store them in a session variable, I have been told serilizable arrays would work however when looking online for a solution I came accross an ArrayList which seemed perfect but I can't seem to implement it.

I have a separate class called Basket with:

ArrayList basketItems = new ArrayList();

I need to be able to select a product from a gridview using the select link or alternatively using a listview and using my own button to then add the bookID to the array, which will then be stored in a session variable and sent to a basket page where the bookID will be used again against a SQL table to output the details of the book etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟酒忠诚 2024-10-12 14:07:09

ArrayList 是解决此问题的常用 .NET 1.x 解决方案。如果您使用的是 .NET 2.0 或更高版本,请使用简单的通用列表 (List)。

像这样:

var myIDs = new List<int>();

您可以使用 Add 方法添加项目。

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

您可以通过这种方式将其分配给会话变量:

Session["IdList"] = myIDs;

并且您可以恢复它:

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

希望这有帮助

The ArrayList is the usual .NET 1.x solution for this problem. If you are using .NET 2.0 or later, use a simple generic list (List<T>).

Like this:

var myIDs = new List<int>();

You can add items with the Add method.

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

You can assign it to a session variable this way:

Session["IdList"] = myIDs;

And you can recover it:

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

Hope this helps

匿名。 2024-10-12 14:07:09

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

所以你可以拥有以下集合:

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

If we were in 2003 then yes, ArrayList could have worked fine but now I would recommend you using a generic List<T> which will be type safe and you don't need casting.

So you could have the following collection:

List<int> productIds = new List<int>();
productIds.Add(1);
productIds.Add(2);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文