我有一个自定义异常过滤器,我通过在类上添加[CustomExceptionFilter]属性来调用它。它的工作方式符合我的期望,但是如果操作方法通过ajax请求返回部分视图,那么异常(基本上是重定向到未授权页面)将使用该页面加载部分视图。是否有一种方法可以强制重新加载“父”URL?
以下是自定义异常过滤器的代码:
以下是自定义异常过滤器的代码:
public class CustomExceptionFilter : FilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
if (filterContext.Exception.GetType() == typeof(CustomSecurityException))
{
filterContext.ExceptionHandled = true;
RequestContext rc = new RequestContext(filterContext.HttpContext, filterContext.RouteData);
string url = RouteTable.Routes.GetVirtualPath(rc, new RouteValueDictionary(new { Controller = "NoAccess", action = "Index", message = filterContext.Exception.Message })).VirtualPath;
filterContext.HttpContext.Response.Redirect(url, true);
}
}
}