Pur*_*ome 9 .net c# error-handling asp.net-mvc
我试图在一个库存样本ASP.NET MVC3网站上有2个自定义错误页面.
Darin Dimitrov在这里有一个很好的答案,但它并不适合我所有的测试条件.
然后广泛流行如何在ASP.NET MVC中正确处理404?发布..但这只是触及404错误.
有人可以解释一下
web.config
设置要做这个非常简单的事情:(
接受这个答案的场景:
ErrorController
)......并为测试路线......
/Home/Index
- >显示索引页面/Home
- >显示索引页面/
- >显示索引页面/Home/About
- >显示关于页面/asdasd/asdsad/asdas/asddasd/adsad
- > 404/adsa/asda/asd/asd/asd/asd
- > 404/asdsadasda
- > 404然后将其添加到HomeController.cs
班级..
public ActionResult ThrowException()
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
现在 ..
/home/throwexception
- > 500错误干杯:)
顺便说一下,当使用股票标准new ASP.NET MVC3
模板时,其中一些真正的长路线(上图)现在给出了非常奇怪的错误页面
我在web.config文件中指定customErrors,如下所示;
<customErrors defaultRedirect="/Error/GeneralError" mode="On">
<error statusCode="403" redirect="/Error/403" />
<error statusCode="404" redirect="/Error/404" />
<error statusCode="500" redirect="/Error/500" />
</customErrors
Run Code Online (Sandbox Code Playgroud)
我在Global.asax中有一条路线如下;
/// Error Pages
///
routes.MapRoute(
"Error", // Route name
"Error/{errorCode}", // URL with parameters
new { controller = "Page", action = "Error", errorCode= UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
相应的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);
}
}
Run Code Online (Sandbox Code Playgroud)
这允许我有许多不同的自定义错误页面.它可能不是最好或最优雅的解决方案,但它肯定适合我.
您可以在 web.config 中设置错误页面信息。本页讨论如何执行此操作并使用控制器上设置的 HandleErrorAttribute 以便它们使用此配置。
http://deanhume.com/Home/BlogPost/custom-error-pages-in-mvc/4
归档时间: |
|
查看次数: |
9193 次 |
最近记录: |