【问题标题】:ASP MVC make Custom route [duplicate]ASP MVC制作自定义路由[重复]
【发布时间】:2017-11-02 19:29:37
【问题描述】:

我有几个自定义路由,使我的应用程序在控制器之前设置用户的用户名。我还想在用户名之后显示一些控制器:

例如:

localhost:44303/johndoe //it should show profile > index
localhost:44303/johndoe/Profile
localhost:44303/johndoe/Profile/Index
localhost:44303/johndoe/Profile/Setting
localhost:44303/johndoe/Activity
localhost:44303/johndoe/Activity/Index
localhost:44303/johndoe/Activity/Setting

这是我的路线配置:

        routes.MapRoute(
            name: "profile",
            url: "{name}/profile/{action}",
            defaults: new { controller = "profile", action = "Index" }
        );

        routes.MapRoute(
            name: "Activity",
            url: "{name}/Activity/{action}",
            defaults: new { controller = "Activity", action = "Index" }
        );

  /*********** PROJECT OTHER ROUTE****************/

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

        routes.MapRoute(
           name: "Default1",
           url: "{controller}/{action}/{parametr1}/{parametr2}/{parametr3}",
           defaults: new { controller = "Home", action = "Index", parametr1 = "1", parametr2 = UrlParameter.Optional, parametr3 = UrlParameter.Optional }
       );

在这种情况下,所有 url 都可以正常工作,除了: 本地主机:44303/johndoe

我收到The resource cannot be found. 错误。

我在下面添加了路由,但是在其他路由中出现了新问题,例如localhost:44303:

        routes.MapRoute(
            name: "username",
            url: "{name}",
            defaults: new { controller = "Profile", action = "Index", }
        );

我该如何解决这个问题?我的主要问题是一些网址,例如localhost:44303/johndoe

【问题讨论】:

  • 任何与您的 username 路由匹配的 URL 也将与 Default 路由匹配。当您将username 路由放在 Default 路由之后,它的优先级较低,因此永远不会匹配。
  • 我这样做了,但我仍然有同样的问题

标签: asp.net-mvc


【解决方案1】:

它应该通过并到达默认路线。如果您希望它转到配置文件/索引,请以这种方式设置默认值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多