網站開發中,為了保存用戶的信息,有時候需要使用session。如果我們在aspx頁面中使用Session,只需要Session["key"]=value就可以,獲取時使用int userid=Session["userid"],但是在賦值時,我們可能需要判斷Session是否為空,是否能轉換成int類型。如果只在一處使用Session,那么我們可以直接在aspx頁面中操作,修改也只需修改一處。
但在操作Session時,可能會在多個頁面,如果修改Session,可能需要修改多個頁面,這樣會非常的繁瑣。解決的辦法主要有兩個,一個是基類頁面,添加一個基類頁面,頁面繼承自System.Web.UI.Page,在基類頁面中處理Session。其它的涉及Session操作的繼承自基類頁面。二是使用類,如果在asp.net項目中使用類,只需要引用
using System.Web; using System.Web.SessionState;
然后定義
private static HttpSessionState _session = HttpContext.Current.Session;
就可以通過_session操作Session了。
本文主要介紹第二種方式,而且是使用類庫操作Session的方法。
1.新建一個類庫
2.添加引用,解決方案資源管理器中,右鍵“引用”-》“添加引用”-》.net-》選擇“System.Web”-》點擊“確定”
3.添加一個類,在類中引用
using System.Web; using System.Web.SessionState;
4.操作Session,主要涉及添加,獲取,清除。其它的如修改、刪除也可添加。主要代碼如下:
private static HttpSessionState _session = HttpContext.Current.Session; public static void SetSession(string key,object value) { _session[key] = value; } public static int GetSessionNumber(string key) { int result = 0; if(_session[key]!=null) { int.TryParse(_session[key].ToString(), out result); } return result; } public static string GetSessionString(string key) { string result = ""; if(_session[key]!=null) { result = _session[key].ToString(); } return result; } public static void Clear() { _session.Clear(); }