【问题标题】:why the page is not refreshed after redirection to 'RedirectToRouteResult'?为什么重定向到“RedirectToRouteResult”后页面没有刷新?
【发布时间】:2023-03-06 12:47:01
【问题描述】:

我的过滤器如下

public class SessionExpireAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        HttpSessionStateBase session = filterContext.HttpContext.Session;   
        string userExpire = string.Empty;
        userExpire = new UserControllerHelper().FetchDataFromCookie(CookieField.UserRoleId.ToString());
        if (userExpire == "") 
        {
            filterContext.HttpContext.Response.Clear();
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary { { "controller", "Home" }, { "action", "Index" }, { "Area", "" } });
        }
        base.OnActionExecuting(filterContext);
    }       
}

这是被重定向但页面没有刷新。过期的url还在地址栏中。

我尝试使用以下代码:

filterContext.HttpContext.Response.Redirect(FormsAuthentication.LoginUrl);

但这根本没有重定向。

提前致谢

【问题讨论】:

    标签: asp.net-mvc visual-studio-2013 filter session-cookies


    【解决方案1】:

    试试这样:

       filterContext.Result = new RedirectToRouteResult(new System.Web.Routing.RouteValueDictionary(
                    new { area = "", controller = "Error", action = "Index", id = UrlParameter.Optional, message = "CodeError", ErrorMessage = filterContext.Exception.GetBaseException().Message }));
    

    【讨论】:

    • 我试过这个没有错误信息部分,但仍然不刷新
    猜你喜欢
    • 2021-12-03
    • 2020-12-31
    • 2021-05-08
    • 1970-01-01
    • 2020-03-14
    • 2019-08-31
    • 2018-10-31
    • 2020-05-29
    • 1970-01-01
    相关资源
    最近更新 更多