解决方案 »

  1.   

    都已经不匹配你的路由了,你让人家怎么用你的路由跳404?
    路由不匹配会引发异常,可以在Global中配置application_error来跳转你指定的404页面。
            protected void Application_Error(object sender, EventArgs e)
            {
                Exception ex = Server.GetLastError();            if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)
                {
                    HttpContext.Current.Response.Redirect("~/NiMei/NiDaYe");
                    HttpContext.Current.Server.ClearError();
                }
            }或者在application_start中注册错误全局Filte        protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();            GlobalFilters.Filters.Add(new HandleErrorAttribute());
                RegisterGlobalFilters(GlobalFilters.Filters);
                RegisterRoutes(RouteTable.Routes);
            }在你的system.web里:
    <customErrors mode="On" defaultRedirect="/NiMei/Error"/>
      

  2.   

    http://blog.csdn.net/afeiflyinsky/article/details/7622622
      

  3.   

    楼主Application_Error是一种处理方式,还有救是重写处理,如:
    protected override void HandleUnknownAction(string actionName)
            {
                try { base.HandleUnknownAction(actionName); }
                catch { Response.Redirect("404.html"); }
            }