我的主视图包含部分视图。 我有HandleError,错误的机会我重定向到返回其他视图的其他操作。 问题是,当我在局部视图中有错误时,只有局部视图发生了变化。 我能做什么? 控制器:
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext != null)
{
Exception e = filterContext.Exception;
Log.Error(e);
}
RedirectToAction("Login", "Start", new { authorityId = 1, TopUnit = "RRRRR", unitId = 1, SubUnitId = 1 });
}
我需要所有视图都会改变,部分和主要。
答案 0 :(得分:0)
正如你所说的错误部分视图只是改变了,你可以尝试下面的工作:
OnException重定向到中间操作
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext != null)
{
Exception e = filterContext.Exception;
Log.Error(e);
}
RedirectToAction("RedirectOnError", "Start", new { authorityId = 1, TopUnit = "RRRRR", unitId = 1, SubUnitId = 1 });
}
使用以下代码在登录文件夹中创建部分视图_RedirectToError.cshtml
<script>
window.location = '@Url.Action("Login", "Start",new { authorityId = 1, TopUnit = "RRRRR", unitId = 1, SubUnitId = 1 })';
</script>
在启动控制器中
public ActionResult RedirectOnError(){
return PartialView("_RedirectToError");
}
执行RedirectOnError后,您将被重定向到具有完整视图的Login。