.net中 easyui在mvc过滤器处理报错时怎么跳回到登录界面
我用mvc的过滤器做了一个全局的异常处理,前台是用的easyui框架,报错后想跳回登录界面,可是一直跳转不出去求大神帮忙解决
跳转方法:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new LoginCheckFilterAttribute() { IsCheck = true });//判断是否登录
filters.Add(new MyHandleErrorAttribute());//新建全局的异常处理
}
}
///
/// 处理异常
///
public class MyHandleErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
base.OnException(filterContext);
string bcxx = filterContext.Exception.Message;//报错信息
string bcff = filterContext.Exception.TargetSite.ToString();//报错方法
string bcdx = filterContext.Exception.Source;//报错对象
string bcwz = filterContext.Exception.StackTrace;//引发异常位置
//PublicClass.AddLog("报错信息:"+bcxx+"报错方法:"+bcff+"报错对象:"+bcdx+"报错位置:"+bcwz, 1);//写入报错日志
string response_js = "<script>window.parent.location.href='~/html/Error.html';</script>";
filterContext.HttpContext.Response.Redirect("~/html/Error.html");//异常处理界面(友好界面)
//跳转到登陆页
//filterContext.HttpContext.Response.Write(response_js);
}
}
视图报错的效果:
/// <summary>
/// 职员信息视图
/// </summary>
/// <returns></returns>
public ActionResult WorkersInfo()
{
int a = 0;
int b = 1 / a;
return View();
}
独立方法的效果:
public string ces() {
int a = 0;
int b = 1 / a;
return "";
}
两种情况都不能直接跳回框架显示异常信息