【问题标题】:custom HandleErrorAttribute自定义 HandleErrorAttribute
【发布时间】:2011-01-13 12:22:35
【问题描述】:

我想在发生错误的同一页面上显示所有错误(不重定向/更改页面内容)(例如 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;
    }
}

【问题讨论】:

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


    【解决方案1】:

    试试这样的:

    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

    【讨论】:

    • @JoshNoe 在这里工作 - 你看到了什么?
    • “糟糕!谷歌浏览器找不到 blog.dantup.com”。不过,我可以在 1 月 13 日从 Google 获取缓存副本。试试清除浏览器的缓存吧?
    • @JoshNoe 我可以在家和工作中获取它,多台机器,绝对不是来自浏览器缓存。可以解析域名吗?您可以访问域上的其他任何内容吗?它解析到什么 IP 地址?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 2011-10-01
    • 2012-02-14
    相关资源
    最近更新 更多