2011-08-30 47 views
1

我有幾個不同的用戶控件的頁面。 它們都運行下面的代碼:由幾個用戶控件使用的數據

var member = System.Web.Security.Membership.GetUser(); 
MemberProfile mp = MemberProfile.GetUserProfile(member.UserName); 
string affilID = mp.GetPropertyValue("aID").ToString(); 

我想,一旦得到這個值,並將其保存爲使用所有控件。 我不確定在生命週期的哪個階段我需要這樣做,以確保它在渲染時可以訪問所有控件。 有什麼建議嗎?

謝謝!

回答

1

爲什麼不在使用Session的Page_Load事件中執行此操作?也許這樣(C#):

MembershipUser member; 
MemberProfile mp; 
string affilID; 

protected void Page_Load(object sender, EventArgs e) 
{ 

    if (Session["member"] != null) 
    { 
     member = (MembershipUser)Session["member"]; 
    } 
    else 
    { 
     member = System.Web.Security.Membership.GetUser(); 
    } 

    if (Session["mp"] != null) 
    { 
     mp = (MemberProfile)Session["mp"]; 
    } 
    else 
    { 
     mp = MemberProfile.GetUserProfile(member.UserName); 
    } 

    if (Session["affilID"] != null) 
    { 
     affilID = (string)Session["affilID"]; 
    } 
    else 
    { 
     affilID = mp.GetPropertyValue("aID").ToString(); 
    } 
} 
+0

我只是將其翻轉並首先檢查affilID。如果我有它,我不需要休息。謝謝! –

0

如果它全部在同一頁面上,只要它不在子程序中,你應該可以在任何子程序中使用它。或者我錯過了什麼?