gpt4 book ai didi

asp.net mvc errorhandler 未显示自定义错误页面

转载 作者:行者123 更新时间:2023-12-03 22:54:26 25 4
gpt4 key购买 nike

我正在尝试遵循 this link 中的示例和 this one但我没有显示错误页面,而是收到了 HTTP 500 内部服务器错误。
我有 <customErrors mode="On" />在 webconfig 中设置。我什至尝试应用 [HandleError]过滤到 Controller 类。我也试过没有。 Error.aspx 也存在于/Views/Shared/中,因此不可能是找不到文件的情况。

我在 Controller 的操作方法中抛出了一个 DivideByZero 异常。我想遵循该示例,以便我可以为需要它们的所有操作指定一个单独的错误页面。

我在创建的空白项目中使用 aspx View 引擎。这应该不是原因吧?。我也为此使用了母版页。有什么我可能会遗漏的吗?

谢谢

编辑添加代码

我将此代码添加到一个新项目并创建了 web.config 条目 <customErrors mode="On" />

 [HandleError]
public class HomeController : Controller
{
//
// GET: /Home/
[HandleError]
public ActionResult Index()
{

throw new DivideByZeroException();
return View();
}

}

它没有用!然后我评论了 DivideByZeroException 并在 aspx View 中添加了无效的 Model.Property。在这两种情况下,我都收到了内部服务器错误。我已经按照文档做了所有要做的事情。我看到很多其他人也有同样的问题,但也无法解决。这是 MVC 3 中的错误吗?

最佳答案

我想我已经弄清楚真正的问题是什么。我的主页索引位于母版页中。我将相同的母版页添加到 Visual Studio 开箱即用的默认错误页面,它对我有用。

文档需要更清楚地指出这一重要要求,...如果它确实是一个。

另一个惊人的发现是你不需要用 [HandleError] 来装饰你的 Controller 类。属性。它也适用于默认的错误 View 。如果您想要为您的操作或 Controller 提供特定的自定义 View ,您可以提供该属性。
像这样:

[HandleError(View = "CustomError")]

...其中 CustomError.aspx 只是 View 的共享文件夹或 View-Controller 文件夹本身中的另一个普通 aspx View 页面。

有没有人在没有将错误页面放在母版页中的情况下完成这项工作,其中引发错误的主调用页面在母版页中?

关于asp.net mvc errorhandler 未显示自定义错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231165/

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