我的一个类文件里有这样一个属性,如下:
    /// <summary>
    /// 用户基本信息
    /// </summary>
    public static UserInfo User_Info
    {
        get
        {
            if (HttpContext.Current.Session["UserInfo"] == null)
            {
                Page executingPage = HttpContext.Current.Handler as Page;
                ScriptManager.RegisterClientScriptBlock(executingPage, executingPage.GetType(), "", "window.open('login.aspx','','')", true);
                return null;
            }
            else
                return (UserInfo)HttpContext.Current.Session["UserInfo"];
        }
    }
我希望当Session失效时,直接跳转到登录页面,可是执行后发现并没有成功跳转,还是返回的空,希望朋友们帮忙想想办法

解决方案 »

  1.   

    通过BasrPage或IHtttpMoudle实现
    public class BasePage : System.Web.UI.Page 
        { 
          public  BasePage() 
          {       } 
                protected override void OnInit(EventArgs O) 
          { 
              if (base.Session["UserId"] == null || base.Session["UserId"].ToString().Equals("")) 
              { 
                  Response.Redirect("~/Error.aspx"); 
              } 
          } 
        }
      

  2.   

     if (base.Session["UserId"] == null || base.Session["UserId"].ToString().Equals("")) 
              { 
                  Response.Redirect("~/Error.aspx"); 
              } 
      

  3.   

     Response.Redirect("~/你的页面");