通过ASP.NET中的会话变量进行多次输入

时间:2010-11-25 15:41:27

标签: asp.net gridview session-variables

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

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

2 个答案:

答案 0 :(得分:2)

您可以将(几乎)任何对象放入会话中,而不仅仅是字符串。因此,您可以使用List<string>获取密钥列表,甚至使用List<Product>

修改
所以在第一页你会得到

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

答案 1 :(得分:2)

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

对象应该是市场化的Serializable。

例如:

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

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