重定向onActionExecuting的问题

时间:2015-11-18 09:42:27

标签: asp.net-mvc asp.net-mvc-4

我有2个会话到期检查方法,第一个用于控制器,第一个用于控制器,第二个用于API控制器...我有一个重定向问题我试过很多方法但无法重定向...下面给出了代码..

  public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        HttpContext ctx = HttpContext.Current;
        // check  sessions here

        if (HttpContext.Current.Session[Constants.SessionKeys.UserId] == null)
        {
            filterContext.Result = new RedirectToRouteResult(
            new RouteValueDictionary { { "controller", "HomeController" }, { "action", "Redirect" } });
            return;
        }
        base.OnActionExecuting(filterContext);
    }

  public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {

        HttpContext ctx = HttpContext.Current;

        // check  sessions here
        if (HttpContext.Current.Session[Constants.SessionKeys.UserId] == null)
        {
            System.Web.Mvc.ActionExecutingContext filtercontext = new System.Web.Mvc.ActionExecutingContext();
            filtercontext.Result = new System.Web.Mvc.RedirectResult("http://a830edad9050849NDA3307.sharepoint.com/sites/SPBoxUI");
            return;
        }
        base.OnActionExecuted(actionExecutedContext);
    }

在第一个我有一个操作控制器,并在那里放置一个断点,但我认为没有被调用。我正在使用MVC4这两个都没有按预期工作...在先期感谢您的亲切帮助

1 个答案:

答案 0 :(得分:0)

尝试以下内容。这个片段可以帮到你。

Response.Redirect(Url.Action("Redirect", "Home"));