【问题标题】:MVC C# Bad URL handling with multiple parameter带有多个参数的 MVC C# 错误 URL 处理
【发布时间】:2018-08-05 22:49:54
【问题描述】:

我是 MVC 的新手。实际上,我正在尝试处理对我的应用程序的错误请求。我在 Global.asax 中添加了 Application_Error 方法,还创建了一个控制器来处理 404 页面错误。现在,当我的 URL 如下所示时,这可以正常工作。 https://localhost:44397/t/t/t 它显示了我为错误 URL 设置的正确 404 页面

但是当我的 URL 类似于以下内容时,它再次显示 404 页面 https://localhost:44397/t/t/t/e

HTTP 错误 404.0 - 未找到 您要查找的资源已被删除、名称已更改或暂时不可用。

谁能帮助我如何限制上述网址?以下是我的 route.config 代码。

routes.MapRoute(
           "ErrorHandler",
           "ErrorHandler/{action}/{errorMSG}/",
           new { controller = "ErrorHandler", action = "Index", errMsg = UrlParameter.Optional }
           ,
                namespaces: new[] { "MyProject.Web.Controllers" }
           );

【问题讨论】:

    标签: c# url model-view-controller handle


    【解决方案1】:

    您需要在与任何 URL 匹配的所有有效路由的末尾注册一个附加路由。下面的示例代码。这将处理对您的应用程序的所有无效请求。

    routes.MapRoute(
           "AllInvalidRoutes",
           "{*.}",        
           new { controller = "InvalidRoutesController", action = "Index" }           
           );
    

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2020-08-14
      • 1970-01-01
      相关资源
      最近更新 更多