4

我在 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>
4

1 回答 1

0

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

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

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

于 2013-07-02T15:28:10.820 回答