清除asp.net mvc中重定向中的散列和参数

本文关键字:参数 重定向 asp net mvc 清除 | 更新日期: 2023-09-27 18:09:55

考虑控制器中的以下代码:

    protected override void OnActionExecuting(System.Web.Mvc.ActionExecutingContext filterContext)
    {
        if (!this.IsAuthorized) 
        {
            filterContext.Result = RedirectToAction("Index", "Home", new { area = "" });
            //filterContext.Result = Redirect(Url.Content("~/Home/Index")); // Gives same result as the previous row
            return;
        }
        base.OnActionExecuting(filterContext);
    }

未经授权输入以下url:

somecontroller/someaction#/?tab=Foo

重定向到:

/Home/Index#/?tab=Foo

为什么没有从url中去掉哈希值?
我怎样才能摆脱它的服务器端?

清除asp.net mvc中重定向中的散列和参数

这不可能。命名锚(#/?tab=Foo)不是请求的一部分,浏览器不会将命名锚发送到服务器。看一下命名锚不发送到web服务器