Csharp/C#教程:如何使用库存标准ASP.NET MVC3网站获得自定义404和500错误页面?分享


如何使用库存标准ASP.NET MVC3网站获得自定义404和500错误页面?

我试图在一个库存样本ASP.NET MVC3网站上有2个自定义错误页面。

Darin Dimitrov在这里有一个很好的答案,但它并不适用于我所有的测试条件。

然后广泛流行如何在ASP.NET MVC中正确处理404? 发布..但这只是触及404错误。

有人可以解释一下

要做这个非常简单的事情:(

接受这个答案的场景:

并为测试路线……

然后将其添加到HomeController.cs类中..

 public ActionResult ThrowException() { throw new NotImplementedException(); } 

现在 ..

干杯:)

顺便说一下,当使用股票标准的new ASP.NET MVC3模板时,其中一些真正的长路线(上图)现在给出了非常奇怪的错误页面

我在web.config文件中指定customErrors,如下所示;

       

我在Global.asax中有一条路线如下;

  /// Error Pages /// routes.MapRoute( "Error", // Route name "Error/{errorCode}", // URL with parameters new { controller = "Page", action = "Error", errorCode= UrlParameter.Optional } ); 

相应的ActionResult执行以下操作,返回相关的自定义错误页面。

 // public ActionResult Error(string errorCode) { var viewModel = new PageViewModel(); int code = 0; int.TryParse(errorCode, out code); switch (code) { case 403: viewModel.HtmlTitleTag = GlobalFunctions.FormatTitleTag("403 Forbidden"); return View("403", viewModel); case 404: viewModel.HtmlTitleTag = GlobalFunctions.FormatTitleTag("404 Page Not Found"); return View("404", viewModel); case 500: viewModel.HtmlTitleTag = GlobalFunctions.FormatTitleTag("500 Internal Server Error"); return View("500", viewModel); default: viewModel.HtmlTitleTag = GlobalFunctions.FormatTitleTag("Embarrassing Error"); return View("GeneralError", viewModel); } } 

这允许我有许多不同的自定义错误页面。 它可能不是最好或最优雅的解决方案,但它肯定适合我。

您可以在web.config中设置错误页面信息。 此页面讨论了如何执行此操作并使用控制器上设置的HandleErrorAttribute,以便它们使用此配置。

https://deanhume.com/Home/BlogPost/custom-error-pages-in-mvc/4

这似乎是个大问题。

看我的回答是这篇文章:

一劳永逸是什么是处理MVC中的错误,exception和404的最佳路由方法

但我会将这些路由添加到您的测试用例中:

https://www.website.com/yourcontroller/youraction:32

https://www.website.com/yourcontroller/youraction/http:/www.website.com/yourcontroller/youraction?par=123

上述就是C#学习教程:如何使用库存标准ASP.NET MVC3网站获得自定义404和500错误页面?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/988605.html

(0)
上一篇 2021年12月24日
下一篇 2021年12月24日

精彩推荐