ASP.NET MVC Global.asax.cs文件中,想用服务器端跳转,但是Server.Transfer不可以。
protected void Session_Start(object sender, EventArgs e){} 这个方法中需要用什么来实现服务器端跳转?如何跳转到指定的Action?

解决方案 »

  1.   

    Response.Redirct 貌似可以。但是客户端跳转。需要再从客户端发起一次请求。
      

  2.   

    Server.Transfer 什么时候可以用 是看页面生命周期的。 如果做控制,个人建议做一个基类Controller  重写 
    /// <summary>
            /// Action执行之前
            /// </summary>
            /// <param name="filterContext"></param>
            protected override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                filterContext.RouteData.Values["controller"];    filterContext.RouteData.Values["action"]);
    }这离可以判断出访问具体的控制器和action
      

  3.   

    Global好像全局控制器吧?这个又不是访问流本身 你要跳转谁?
    如果是要跳转访问对象 在这里操作的话 请传入相应的httpcontext作为参数
    然后执行httpcontext(就是访问流本身)的跳转
      

  4.   


    我的意思是,我想在session_start中检查用户是否登录,如果没有登录,就转到登录页面,所以,我这里想使用服务器端跳转。 你说的那个使用httpContext跳转,要执行哪个方法呢?