2012-04-20 12 views
0

私はセッションオブジェクトで私はストアドプロシージャを実行するためのパラメータとして私に必要なすべての値を取っているmvc 3アプリケーションがあります。mvc3のforeachを使用してSessionオブジェクトから値を取得する必要がありますか?

userActionが更新されている場合は、ストアドプロシージャを実行します。私は[「マッピング」]セッションの全ての値を取得する方法

それは3cusips、3entriesの3idsを保持している、3calculation

答えて

1

短い答えは、代わりにobjectを使用し、あなたの列挙型としてvarを使用しないことです。

foreach (obj item in Session) { 
    if (item is CUSIP) { 
     // CUSIP processing 
    } else if (item is PricingSecurity) { 
     //Pricing security processing 
    } //etc. 
} 

あなたが見ることができるように、このアプローチの問題は、あなたがそれに任意のカスタムアクションを実行するために、それのタイプのために、各オブジェクトをテストする必要がありますということです。良いアイデアは、セッションに格納する独自のクラスを作成するには、次のようになります。

public class SessionData() 
{ 
    List<CUSIP> Cusips {get;set;} 
    List<PricingSecurity> PricingSecurities {get;set;} 

    public SessionData() 
    { 
     // Initialize the lists so they are never null 
     this.Cusips = new List<CUSIP>(); 
     this.PricingSecurities = new List<PricingSecurity>(); 
    } 
} 

は次に、あなただけのリストプロパティのそれぞれをループとは、あなたが必要とするすべてのアクションを実行することができます。

関連する問題