2010-11-25 15 views
0

ASP.NETでショッピング・バスケットを作成して、セッション変数を使用してshopping.aspxページからbasket.aspxにデータを渡しています。現在、プライマリ・ページを渡していますキーを使用して、データベースからのデータを表示するために使用されたbasket.aspxのgridviewを使用します。ASP.NETでセッション変数を使用した複数のエントリ

これは一度に1つの項目に対してのみ有効です。セッション変数を拡張して、複数の製品を追加する方法、数量などを追加するにはどうすればよいですか?

答えて

2

あなたは例えば、独自のオブジェクトを使用することができます。 1つまたは複数の特性を有することができるバスケット。

オブジェクトはSerializableとして市場に出てください。例えば

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

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

文字列だけでなく、セッションにオブジェクトを(ほぼ)配置できます。したがって、List<string>をキーのリストに使用することも、List<Product>を使用することもできます。

EDIT
だから、最初のページに、あなたは

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

と2ページ目になるだろう:

var bookids = Session["bookIDs"] as List<string>; 
// use all IDs 
関連する問題