c# - View 未编译时不重定向到错误页面

标签 c# model-view-controller

我注意到如果 View 中存在编译错误并且自定义错误已打开,则框架不会触发“global.cs”中的 Application_Error(object sender, EventArgs e) ,或重定向到配置设置中的 defaultRedirect url。

相反,它加载母版页,将标题更改为 Error 并放置以下内容

<h2> Sorry, an error occurred while processing your request. </h2>

View 内容应在的位置。

有谁知道强制它像处理其他任何错误一样处理这些错误的方法吗?

PS 我知道 View 中不应该有任何编译器错误,但我们有一个 View 文件被损坏并且没有被发现的情况,因为日志代码在 Application_Error(object sender, EventArgs e)

最佳答案

您是否使用处理错误属性?

[HandleError]

我将属性放在 Controller 级别而不是单独的 Action 方法上。然后在 Controller 内部,我覆盖 OnException 事件以捕获错误。

    protected override void OnException(ExceptionContext filterContext)
    {
        EventLog.WriteEntry("MyAppError", filterContext.Exception.ToString(), EventLogEntryType.Error);
        base.OnException(filterContext);
    }

然后我不覆盖 Application_Error 事件。我还是用Views\Shared目录下的Error页面

关于c# - View 未编译时不重定向到错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8155910/

相关文章:

c# - 使用 WebBrowser 显示对话框

javascript - 检查是否出现另存为对话框

model-view-controller - 挣扎于模型关系

javascript - RedirectToAction 在 IE(Internet Explorer - 8+) MVC4 Razor 中不起作用

c# - CaSTLe ActiveRecord 的 ActiveRecordMediator<> 支持 LINQ 吗?

c# - 拆分多个字符,同时将字符保留在结果中

c# - 为什么在使用静态导入时不能将扩展方法作为静态方法调用?

c# - 以 WebAPI 和 MVC 作为客户端架构的 Restful 服务

c# - 具有不同签名的 Controller 操作方法

javascript - Knockout js 应用程序的正确文件结构是什么?