session超时判断如何写成基类
比如我在basepage.cs里写入如下代码
namespace myspace
{
 protected class a
 {
   if (session["sessionname"]=="")
   {
   Response.Redirect("login.aspx");
   }
 }
}在后台页面如何来继承a,是不是这样不能实现

解决方案 »

  1.   

    public class Class1 : Page
    {
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);        if (Session["SessionName"] == null)
            {
                Response.Redirect("xxx.aspx");
            }
        }
    }
    在web项目中添加一个Web Form,比如叫A.aspx,打开A.aspx.cs,改成
    public partial class A : Class1
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }
      

  2.   

    首先这个语句有问题session["sessionname"]=="",如果超时,session["sessionname"]就是null 如果判断就会抛异常.所以.必须判断是不是
    null
    session["sessionname"]==null
      

  3.   

    共享我写的类
    MySession.cs
    public class MySession
        {
            /// <summary>
            /// 会员ID
            /// </summary>
            public static int UserID
            {
                get
                {
                    if (HttpContext.Current.Session["UserID"] == null)
                        return 0;
                    else
                        return (int)HttpContext.Current.Session["UserID"];
                }
                set
                {
                    HttpContext.Current.Session["UserID"] = value;
                }
            }        /// <summary>
            /// 会员帐号
            /// </summary>
            public static string UserName
            {
                get
                {
                    if (HttpContext.Current.Session["UserName"] == null)
                        return null;
                    else
                        return HttpContext.Current.Session["UserName"].ToString();
                }
                set
                {
                    HttpContext.Current.Session["UserName"] = value;
                }
            }        /// <summary>
            /// SessionID
            /// </summary>
            public static string SessionID
            {
                get
                {
                    HttpContext.Current.Session["SessionID"] = "emay";
                    return HttpContext.Current.Session.SessionID;
                }
            }        /// <summary>
            /// 是否登录
            /// </summary>
            public static bool IsLogin
            {
                get
                {
                    if (HttpContext.Current.Session["UserName"] == null)
                        return false;
                    else
                        return true;
                }
            }        
        }
    BasePage.cs
    /// <summary>
        /// 会员页面基类
        /// </summary>
        public class BasePage : Page
        {
            private void BasePage_Load(object sender, EventArgs e)
            {
                if (MySession.IsLogin == false)
                {                
                    Response.Redirect("login.aspx?url=" + Server.UrlEncode(Request.Path.ToString()));
                    return;
                }
            }
            public BasePage()
            {
                this.Load += new EventHandler(BasePage_Load);
            }
        }