У меня есть пользовательский фильтр исключений, который я вызываю благодаря добавлению атрибута [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);
}
}
}