【问题标题】:ASP.NET Webform shows Error.ASPX page on runtime ErrorsASP.NET Webform 在运行时错误上显示 Error.ASPX 页面
【发布时间】:2013-06-03 18:43:36
【问题描述】:

我只是猜测这是一个简单的 ASP.NET 问题 :)

原来是这样:

我有 ASP.NET 解决方案,每次发生“运行时”错误时都会显示一个名为 Error.ASPX 的网页。(调用堆栈将源代码显示为非用户代码!)

我在所有代码(包括 web.config)中搜索了对“Error.ASPX”的任何引用,但找不到。

因此流程不会从代码本身转到 Error.ASPX。我猜这是在 Visual Studio 设置中指定的某个地方。

感谢任何反馈!

【问题讨论】:

  • 你检查过全局文件Application_Error函数

标签: c# asp.net vb.net visual-studio webforms


【解决方案1】:

你的项目中可能有很多地方可能已经写了。

  1. Global.asax Application_Error 事件。
  2. pageName.aspx Page_Error 事件。

或者您可能创建了一个继承自 Page 类的类,而 Page_Error 可能已经编写了该类,并且您使用的是该类而不是页面类。
您的问题有可能。

【讨论】:

  • 但正如我上面所说,我搜索 Error.aspx 但在任何文件中都找不到。
  • 是的,它在 global.ASax 和 Application_Error 中。 Response.Redirect("~/shared/error.aspx") 遗憾的是,这浪费了我 1 个小时的时间,仅仅是因为 VS2003 搜索无法正常工作。即使我指定“所有打开的文档”并检查“搜索隐藏文本”。 VS搜索在global.asax里面找不到error.aspx
【解决方案2】:

您可以覆盖 Global.asax 文件中的设置,但我只会在 web.config 部分(在<system.web>)中处理它。默认情况下,您应该已经将该部分注释掉,如下所示:

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>

mode="RemoteOnly" 只会在请求不是来自本地主机时显示自定义错误页面,因此您仍然可以从服务器查看详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多