gpt4 book ai didi

asp.net-mvc-3 - Asp.Net MVC 3 App HandleError 不工作

转载 作者:行者123 更新时间:2023-12-02 05:07:36 27 4
gpt4 key购买 nike

好吧,我想我已经准备好 StackOverflow 上所有关于此的帖子,但仍然没有运气。

我已在我的 global.asax 中确认正在注册 HandleErrorAttribute 过滤器。我在我的 web.config 中设置了 customErrors mode="On"。我已将 Error.cshtml 文件中的 Layout=null 更改为 Layout="~/Views/Shared/_Layout.cshtml"

然后我在帐户 Controller 的 Index 操作中添加了一个 throw Exception() 并浏览到 localhost:5050/Account/Index 但我遇到了标准的 YSOD 错误堆东西。

我什至尝试了以下方法(尽管根据我的理解,这无关紧要):

  1. [HandleError][HandleError(View="Error")] 添加到我的 Controller 。
  2. defaultRedirect="Error" 添加到我在 web.config 中的 customErrors

我还能做什么?有没有办法告诉 HandleError 过滤器中发生了什么,或者告诉是否正在生成错误 View ?

感谢您的帮助。

附言顺便说一下,我正在使用 VS2010、IE9 和 Chrome

最佳答案

我无法重现该问题。您的 _Layout.cshtml 中很可能存在错误或 Error.cshtml模板。或者在某些部分,这些模板可能依赖于这些模板。

步骤:

  1. 使用默认模板创建一个新的 ASP.NET MVC 3 应用程序
  2. 添加<customErrors mode="On" />到 web.config
  3. 添加throw new Exception();LogOn 的正文中在 Account 上采取行动 Controller 。
  4. 运行站点并导航到 /account/logon
  5. Error.cshtml View 已正确呈现

您获得的 YSOD 通常包含一个异常堆栈跟踪,可以帮助您隔离问题。因此,要尝试隔离问题,请尝试消除这些模板中可能导致问题的任何潜在代码。尝试输入 Layout = null在错误模板中消除布局。如果您的 Layout 或 Error 模板中存在错误(正如我怀疑的那样),您将得到以下结果:

enter image description here

如果您仍然无法确定问题,请尝试订阅 Application_Error您的事件 Global.asax并查看您是否可以获得有关异常的更多信息。

关于asp.net-mvc-3 - Asp.Net MVC 3 App HandleError 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9437738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com