最近用MVC3做一个项目,
当我第一次登录的时候,会进入到控制器的login,返回页面也正确.但是当用户不退出登录的时候再次输网站首页地址则直接跳到登录界面,调试的时候也不进到控制器的login,
如:我登录成功之后进入到 http://***.com/EditorPwd.html,在用户不退出的时候,在浏览器地址栏直接输入:http://***.com
则会直接跳到登录界面,调试不进入到控制器中的login,我的判断Session是否存在是在控制器中的每个页面返回方法里面写的.
而且当用户退出后重新输入一个地址 
如:http://****.com/Index.html   则会跳转到Index界面,调试也不进入控制器的index。

解决方案 »

  1.   

    按我的印象中,IE6当输入一个URL访问的时候,默认的是一个新的会话,也就是说与以往的会话并不在同一个会话中,所以需要输入用户名和密码你可以试试看IE8下的效果是不是你想要的效果。
      

  2.   

    但是调试的时候为什么进不去控制器里面的 login() 里面呢?   
      

  3.   

    那你可以在首页的请求ActionResult中判断用户是否登陆,如果未登陆未进入登陆界面,如果已登陆则进入首页!
      

  4.   


    不清楚你的代码结构,因此你可以尝试一下附加到进程这个方式去调试,看看有没有进入到login
      

  5.   

    Controllers:
    public ActionResult Login()
            {
                //省略判断
                ViewBag.Success = true;
                return View();
            }        [HttpPost]
            public ActionResult Login(string txtCode)
            {}
    Global :  
    routes.MapRoute("Default", "", new { controller = "Home", action = "Login" }); 
    routes.MapRoute("Login", "Login.html", new { controller = "Home", action = "Login" });
     routes.MapRoute("Index", "Index.html", new { controller = "Home", action = "Index" }); 输入首页地址后  什么也不做