ELMAH.MVC:如何显示自定义错误页面?

时间:2013-06-27 21:03:47

标签: asp.net-mvc-4 error-handling elmah.mvc

我在ASP.NET MVC4应用程序中使用最新版本的ELMAH.MVC。 它是记录错误但是,我想显示一个自定义错误页面。所以我 创建了一个ErrorController和ErrorView(见下文)。

我无法弄清楚如何让ELMAH.MVC去我的 任何未捕获的异常的自定义错误页面。另外,我想展示一个自定义 标题和错误消息。我在web.config中没有“customError”。

我非常感谢你对这个问题的帮助......

谢谢,

麦克

// ELMAH Configuration
<add key="elmah.mvc.disableHandler" value="false" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="ABitOfHelp" />
<add key="elmah.mvc.route" value="elmah" />


// My Error Controller
/// <summary>
/// Logs errors.
/// </summary>
public class ErrorController : Controller
{
    /// <summary>
    /// Logs JavaScript errors.
    /// </summary>
    /// <param name="message"></param>
    [HttpPost]
    public ActionResult LogJavaScriptError(string message)
    { 
        ErrorSignal.FromCurrentContext().Raise(new JavaScriptException(message));
        ViewBag.Message = message;
        ViewBag.Title = XXXXX.Shared.Properties.Resources.Title_ErrorInformation;
        return View("Error");
    }
}

// My Error View

@ {     }

<h2>@ViewBag.Title</h2>
<h3>@ViewBag.Message</h3>

1 个答案:

答案 0 :(得分:0)

在web.config中,您需要添加以下行:

 <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>

其中mycustompage.htm是控制器或页面的路径。