首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义ASP.NET MVC 404错误页面的路由

在ASP.NET MVC中,自定义404错误页面的路由可以通过以下步骤实现:

  1. 创建自定义的404错误页面。在项目的Views/Shared文件夹中创建一个名为Error.cshtml的视图文件,并添加以下代码:
代码语言:txt
复制
@{
    ViewBag.Title = "Error";
}

<h2>404 - 页面未找到</h2>
  1. 在Global.asax文件中添加以下代码:
代码语言:csharp
复制
protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    HttpException httpException = exception as HttpException;

    if (httpException != null && httpException.GetHttpCode() == 404)
    {
        Server.ClearError();
        Response.Clear();
        Response.StatusCode = 404;
        Response.TrySkipIisCustomErrors = true;

        HttpContext.Current.RewritePath(Request.ApplicationPath + "/Error");
        IController errorController = new ErrorController();
        errorController.Execute(new RequestContext(new HttpContextWrapper(Context), new RouteData()));
    }
}

这段代码会捕获404错误,并将请求重定向到Error控制器。

  1. 创建Error控制器。在项目中创建一个名为ErrorController的控制器,并添加以下代码:
代码语言:csharp
复制
public class ErrorController : Controller
{
    public ActionResult Index()
    {
        return View("Error");
    }
}

这段代码会将请求重定向到Error视图。

  1. 在Web.config文件中添加以下代码:
代码语言:xml<system.webServer>
复制
  <httpErrors errorMode="Custom" existingResponse="Replace">
   <remove statusCode="404" />
   <error statusCode="404" responseMode="ExecuteURL" path="/Error" />
  </httpErrors>
</system.webServer>

这段代码会将404错误重定向到Error控制器。

现在,当用户访问不存在的页面时,将会看到自定义的404错误页面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券