自定义HandleErrorAttribute

时间:2011-01-13 12:22:36

标签: .net asp.net-mvc-3 razor

我想在同一页面上显示所有错误(没有重定向/更改页面内容)发生的地方(例如javascript警报),我认为错误页面可以像PartialView一样加载。 我尝试创建自定义HandleErrorAttribute,但它不起作用:

public class CustomHandleErrorAttribute : HandleErrorAttribute
{
    public string PartialViewName { get; set; }

    public override void OnException(ExceptionContext filterContext)
    {
        var result = new PartialViewResult();
        result.ViewName = PartialViewName;
        filterContext.Result = result;
    }
}

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

protected override void OnException(ExceptionContext filterContext)
{
    filterContext.ExceptionHandled = true;
    this.View("Error").ExecuteResult(this.ControllerContext);
}

可在此处找到更多信息(包括如何使其服从customErrors = RemoteOnly):

http://blog.dantup.com/2009/04/aspnet-mvc-handleerror-attribute-custom.html