.NET MVC自定义错误处理页面的方法
时间: 2023-12-11 15:02:40 浏览: 58
在.NET MVC中,可以通过自定义错误处理页面来提高用户体验。下面是一些方法:
1. 在Web.config文件中添加自定义错误页面的路径:
```xml
<system.web>
<customErrors mode="On" defaultRedirect="~/Error">
<error statusCode="404" redirect="~/Error/NotFound" />
</customErrors>
</system.web>
```
这个配置指定了当发生404错误时,跳转到~/Error/NotFound页面。
2. 创建ErrorController和相关的视图:
```csharp
public class ErrorController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult NotFound()
{
return View();
}
}
```
创建Error和NotFound视图。
3. 在Global.asax.cs文件中添加以下代码:
```csharp
protected void Application_Error()
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
RouteData routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Index");
if (httpException != null)
{
switch (httpException.GetHttpCode())
{
case 404:
routeData.Values["action"] = "NotFound";
break;
}
}
Server.ClearError();
Response.TrySkipIisCustomErrors = true;
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
}
```
这个代码会在发生错误时执行,根据错误类型跳转到不同的页面。
这些方法可以帮助你自定义错误处理页面,并提高用户体验。
阅读全文