我在page_load事件里写的
if (Session["name"] == null)            
 {                
   Response.Redirect("login.aspx");
 } 
在运行程序的时候能成功跳转至登录界面。但是直接输入网址打开。却不会跳至登录界面。怎么回事?
直接打开的本地网址是http://localhost:9327/XXXXX.aspx 
我觉得是因为本地网址直接打开了后没做pageload里的判断。
怎么才能防止直接本地网址打开?

解决方案 »

  1.   

    你看看有没有这个可能,你运行程序的时候Session["name"] == null,但是你的程序运行完成之后Session["name"] != null了,在你的浏览器尚未完全关闭的情况下,Session["name"]不会被清除,所以你再打开的时候判断就不成立了
      

  2.   

    应该是你第一次加载的时候保存了Session["name"]值,你试试加个
    if(!ispostback)
    {
    if (Session["name"] == null)            
      {                
        Response.Redirect("login.aspx");
      } 
    }
      

  3.   

    做一个签退按钮以清除session试试
      

  4.   

    是可以跳转的啊 protected void Page_Load(object sender, EventArgs e)
        {
            //if (Session["name"] == null)
            //{
            //    Response.Redirect("login.aspx");
            //}        if (Session["name"] == null)
            {
                Response.Redirect("login.aspx");
            }     }
      

  5.   

    配置iis服务器 ,默认文档指定为登录页 。试试看 我不懂啊 
      

  6.   

    之前没清里session吧?
    把浏览器关掉再登陆试试看?!