小编New*_*er_的帖子

ASP.NET MVC 5 - (HTTP错误404.0 - 未找到)具有长的不存在的URL

我在Microsoft Visual Studio Express 2013 for Web中创建了一个新项目.它是一个ASP.NET MVC 5 - .NET Framework 4.5项目.

我想处理(无法找到资源):

没有找到您要查的资源

我确实使用下面的代码处理它.

如果我执行类似(/ Home/kddiede/ddiij)或(/ djdied/djie/djs)的操作,此代码将起作用,这将导致显示我的自定义错误页面.

但是,当我尝试执行类似(/ Home/kddiede/ddiij/dfd/sdfds/dsf/dsfds/fd)或任何长的不存在的URL时,它会向我显示:

HTTP错误404.0  - 未找到

代码来自:http://www.codeproject.com/Articles/635324/Another-set-of-ASP-NET-MVC-4-tips

技巧16:自定义错误屏幕

错误页面位于/View/Shared/Error.cshtml中

Web.config文件

<system.web>
<customErrors mode="RemoteOnly" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

Global.asax中

protected void Application_EndRequest(Object sender, EventArgs e)
{
    ErrorConfig.Handle(Context);
}
Run Code Online (Sandbox Code Playgroud)

ErrorConfig类

public class ErrorConfig
{
  public static void Handle(HttpContext context)
  {
    switch (context.Response.StatusCode)
    {
      //Not authorized
      case 401:
        Show(context, 401);
        break;

      //Not found
      case 404:
        Show(context, 404);
        break;
    }
  }

  static void Show(HttpContext context, Int32 code)
  {
    context.Response.Clear(); …
Run Code Online (Sandbox Code Playgroud)

url asp.net-mvc asp.net-routing http-status-code-404

9
推荐指数
2
解决办法
3万
查看次数