2012-05-20 47 views
2

我有以下會話變量:Session["UserId"];如何在對象中保存會話變量?

如何將該變量保存在類和公共變量中?像這樣:

public class UserDC 
{ 
    //public static Session UserId = Session["UserId"] 
} 

我只想打電話給:UserDC.UserId

+0

你忘了在C#(或VB)中使用屬性的概念嗎? – Lion

+0

請不要用「C#:」等來標題。這就是標籤的用途。 –

回答

6

這是你在找什麼?

public class UserDC 
{ 
    public static string UserId 
    { 
     get 
     { 
      if(HttpContext.Current.Session["Test"] != null) 
       return HttpContext.Current.Session["Test"].ToString() 
      else 
       return ""; 
     } 

     set 
     { 
      HttpContext.Current.Session["Test"] = value; 
     } 
    } 
} 

編輯

爲了一個靜態屬性或靜態方法中獲取一個會話變量,你必須實際執行以下操作,因爲HttpContext.Current是靜態的:

HttpContext.Current.Session 
+0

可能想要添加空引用檢查。 –

+0

啊好點。謝謝。我已經更新了我的答案。 –

+0

將數據保存到靜態字符串UserId時。 數據保存在會話變量中嗎? – JohnMalcom

0
public static string UserId 
{ 
    get 
    { 
     return (string)Session["UserId"]; 
    } 
}