ASP.NET 中通过会话变量进行多个条目

发布于 2024-10-04 19:24:43 字数 169 浏览 2 评论 0原文

我正在 ASP.NET 中创建一个购物篮,使用会话变量将数据从 shopping.aspx 页面传递到basket.aspx,目前我的页面通过在basket.aspx 上使用的 gridview 传递产品的主键显示数据库中的数据。

然而,这一次仅适用于一项,我如何扩展会话变量以便可以添加多个产品以及数量等?

I'm creating a shopping basket in ASP.NET using session variables to pass the data from a shopping.aspx page to basket.aspx, currently I have the pages passing the primary key of the product with a gridview on the basket.aspx used to display the data from the database.

However this only works for one item at a time, how can I extended the session variable so multiple products can be added, as well as quantities etc?

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

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

发布评论

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

评论(2

听风念你 2024-10-11 19:24:43

您可以使用自己的对象,例如。可以具有一项或多项属性的篮子。

对象应该作为可序列化的市场。

例如:

[Serializable]
public class Basket
{
    public List<BasketItem> Items {get;set;}
    public int UserId {get;set;}
}

[Serializable]
public class BasketItem
{
    //...
}

You can use your own object, eg. Basket which can have one or more properties.

Object should be market as Serializable.

For example:

[Serializable]
public class Basket
{
    public List<BasketItem> Items {get;set;}
    public int UserId {get;set;}
}

[Serializable]
public class BasketItem
{
    //...
}
弥繁 2024-10-11 19:24:43

您可以将(几乎)任何对象放入会话中,而不仅仅是字符串。因此,您可以使用 List 作为键列表,甚至可以使用 List

编辑
因此,在第一页中您将看到

var bookids = new List<string>();
// collect all book IDs into the 'bookids' list
Session["bookIDs"] = bookids;

,在第二页中:

var bookids = Session["bookIDs"] as List<string>;
// use all IDs

You can put (almost) any object into the session, not just strings. So you could use a List<string> for a list of keys, or even a List<Product>.

EDIT
So in the first page you would get

var bookids = new List<string>();
// collect all book IDs into the 'bookids' list
Session["bookIDs"] = bookids;

and in the second page:

var bookids = Session["bookIDs"] as List<string>;
// use all IDs
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文