重构Session

大家在做web开发的时候,经常会用到Session,最常用的就是登录功能了。
用户登录后,Session["LoginName"]="userName";
在其他页面再进行Session["LoginName"]的判断,用户状态是否过期等等。
如果很多个页面,我们每个页面都要进行判断,岂不是要累死!

 

我们可以用下面的方法来简化我们的工作:
1、添加一个BasePage类,System.Web.UI.Page,用此类来进行Session的判断
2、其他页面来继承BasePage
代码如下:

ExpandedBlockStart.gif BasePage类代码
 1  using  System;
 2  using  System.Data;
 3  using  System.Configuration;
 4  using  System.Web;
 5  using  System.Web.Security;
 6  using  System.Web.UI;
 7  using  System.Web.UI.HtmlControls;
 8  using  System.Web.UI.WebControls;
 9  using  System.Web.UI.WebControls.WebParts;
10 
11  ///   <summary>
12  /// BasePage 的摘要说明:
13  /// 基类页面,需要用到Session的页面需要继承此页面
14  ///   </summary>
15  public   class  BasePage:System.Web.UI.Page
16  {
17       public  BasePage()
18      {
19           //
20           // TODO: 在此处添加构造函数逻辑
21           //
22      }
23 
24       ///   <summary>
25       ///  当前的登录用户
26       ///   </summary>
27       public   string  CurrentUsersName
28      {
29           get
30          {
31               return  (HttpContext.Current.Session[ " UserName " !=   null   ?  HttpContext.Current.Session[ " UserName " ].ToString() :  string .Empty);
32          }
33           set
34          {
35              HttpContext.Current.Session[ " UserName " =  value;
36          }
37      }
38  }

 

 

登录窗体 拖放一个TextBox :txtUserName 和一个 Button:btnLogin

后台cs代码:

ExpandedBlockStart.gif 登录窗体cs代码
using  System;
using  System.Collections;
using  System.Configuration;
using  System.Data;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.HtmlControls;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;

public   partial   class  Login : BasePage
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    {
       
    }
    
protected   void  btnLogin_Click( object  sender, EventArgs e)
    {
        
this .CurrentUsersName  =   this .txtUserName.Text;
        Response.Redirect(
" Default.aspx " );
 
    }
}

 

 

两个Defualt测试页面

后台cs代码:

ExpandedBlockStart.gif 测试页面cs代码
 1  using  System;
 2  using  System.Configuration;
 3  using  System.Data;
 4  using  System.Web;
 5  using  System.Web.Security;
 6  using  System.Web.UI;
 7  using  System.Web.UI.HtmlControls;
 8  using  System.Web.UI.WebControls;
 9  using  System.Web.UI.WebControls.WebParts;
10 
11  public   partial   class  Default : BasePage
12  {
13       protected   void  Page_Load( object  sender, EventArgs e)
14      {
15           if  (String.IsNullOrEmpty(CurrentUsersName))
16          {
17              Response.Write( " <a href='Login.aspx'>请重新登录</a> " );
18          }
19           else
20          {
21              Response.Write(CurrentUsersName);
22          }
23      }
24  }
25 

 代码下载:http://files.cnblogs.com/love_study/RefactoringSession.rar

 

转载于:https://www.cnblogs.com/love_study/archive/2010/02/03/1662781.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值