2017-01-19 6 views
2

私は、セッション変数に複数の値を格納する方法を見つけようとしています。これは、私は現在、それを行う方法です。複数の値を1つのキー可能なセッションのリストの下にセッションに保存する

Session[ID] = Products; 
Session["type"] = type; 
Session["shipping"] = shipping; 
Session["condition"] = condition; 
Session["minprice"] = minprice; 
Session["maxprice"] = maxprice; 

私はそれがあることを想像する方法は、私は(生成されたGUID値 - 例えば02df0-2k4l9)私の場合にはIDで同じキーの下で、これらすべてを保存することです、私は次のように、これらの値のすべてにアクセスできるように:

Session[ID]["type"]; 
Session[ID]["condition"]; 

とのように...これを実行する方法はありますし、そうならば、可能な限り最良の方法は何ですか?

List<Product> list = new List<Product>(); 
//how to store them 
Session["SessionName"] = list; 
//how to receive the list again 
var list = (List<Product>)Session["SessionName"]; 
+1

これは他の方法で行うことができます。クラスを "製品"にする。すべてのプロパティ "タイプ"、 "出荷"を持っています。 Session変数にオブジェクトを割り当てます。 –

+0

@viveknunaかなりいいアイデア、他の人たちも同じことを聞いてみましょう=) – User987

+0

@viveknunaは、クラスを作成するのではなく、匿名オブジェクトのリストを作ることは可能でしょうか? – User987

答えて

2

方法「type」、「shipping」としての性質をclass MYCLASSの作成について:あなたは自分の価値観からオブジェクトのリストを作成することができます

+0

良いアイデア、私たちはそれについて議論していました。クラスを作成するのではなく、匿名オブジェクトのリストを作るのはどうでしょうか? – User987

+1

@viveknuna:編集のおかげで:) –

+1

@RohitKhanna Thaks:私のアイデアをコピーするP –

1

は、あなたのオブジェクトのクラスであるあなたがProductそれを呼び出すと仮定することができます...など。セッションにそのクラスのインスタンスを格納しますか?

使用する場合は、単にSession変数からインスタンスを抽出し、MYCLASSに型変換して使用してください。

これで問題が解決しますか?あなたが答えた内容を他の人を調べることができます

Session[ID] = objProductsData; 
1

それがあなたの要求に合っているならば、特定のクラスを定義することを含む。答えに加えて、文字列をキーとして使用し、オブジェクトを値として使用する辞書を使用できます。次に、あなたの値をそこに格納し、それから以下のように読むことができます。

var dictionary = new Dictionary<string, object>(); 

dictionary["type"] = type; 
dictionary["shipping"] = shipping; 
dictionary["condition"] = condition; 
dictionary["minprice"] = minprice; 
dictionary["maxprice"] = maxprice; 

Session [ID] = dictionary; 
+0

私は単純に匿名オブジェクトを作成し、それをセッションに格納できますか? – User987

+1

はい、あなたはあなたがどの値がそこにあるのか分かっていればいいです。もし構造が固定されていれば、クラスの使用は良い@ User987 –

2

のようにすべての値

public class ProductData 
    { 
     public Product objProduct { get; set; } 
     public string type { get; set; } 
     public string shipping { get; set; } 
     public string condition { get; set; } 
     public decimal minprice { get; set; } 
     public decimal maxprice { get; set; } 
    } 

を保持するクラスを作成し、セッションにそのクラスのオブジェクトを割り当てるように行うことができます

乾杯

関連する問題