如何使用库存标准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