【问题标题】:custom URL for MVCMVC 的自定义 URL
【发布时间】:2019-09-05 10:07:11
【问题描述】:

我一直在尝试编写一个允许这样的路由

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

路线可以是

http://localhost/salman/

http://localhost/salman/login

http://localhost/login

在我的情况下,用户名是可选的,因此用户名可能在 URL 中可用或不可用,因此如果用户名不可用,则应将其视为控制器

现在不可能通过路线。我想写一个自定义实现来检查第一部分是否是用户名

需要专家意见如何实现上述

【问题讨论】:

    标签: asp.net-mvc routing


    【解决方案1】:

    我相信,当您按如下方式再添加一条路线时,这是可以实现的

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

    你可以为同一个控制器和动作有多个路由。除非我在理解你的问题时犯了错误。

    【讨论】:

    • 我在系统中有多个控制器,很难为每个控制器添加路由。我想要一些通用的东西,这样我就可以签入代码,然后转到仪式控制器
    • 您需要为这个特定场景指定路由,而不是为每个控制器指定路由。
    • 这将是 Salman/login、salman/register、salman/activation 等:这就是我要避免的,因为系统中可能有很多场景
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多