清除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中去掉哈希值?
我怎样才能摆脱它的服务器端?
这不可能。命名锚(#/?tab=Foo
)不是请求的一部分,浏览器不会将命名锚发送到服务器。看一下命名锚不发送到web服务器