【问题标题】:Route to more than one homecontroller路由到多个家庭控制器
【发布时间】:2020-02-19 16:53:33
【问题描述】:

我在控制器文件夹中有这样的:

  -Controller(Main Folder)
    -HomeController(Main Controller)
    -HomeBasic1Controller
    -HomeBasic2Controller
    -HomeBasic3Controller
    -HomeBasic4Controller

当我执行程序时,首先它会转到HomeController,直到这里一切都正确,然后在 HomeController 中我可以调用任何控制器,我可以转到 HomeBasic1Controller 或任何其他 HomeBasicXController。

问题出在 URL 中,显示如下

http://localhost:XXXXX/HomeBasic1

但我想成为这样的人

http://localhost:XXXXX/首页

无论从哪个控制器调用!

【问题讨论】:

    标签: asp.net-core url routes


    【解决方案1】:

    执行此操作的简单方法是将所有操作放在 Basic1、2、3 和 4 控制器上,都放在 HomeController 上。这是普遍接受的约定。如果你不能这样做,那么你想要的是“自定义路由”。开始此方法的直接方法是为 Basic1 中的每个操作添加一个带有每个特定 URL 的路由。一条路线可能看起来像这样:

    routes.MapRoute(
                    "Basic1SomeAction",
                    "home/someaction",
                    new { controller = "HomeBasic1", action = "SomeAction" }
                );
    

    【讨论】:

    • 我会试试你的建议!
    • 我用的是你给我的代码,还是一样,url还是:localhost:XXXXX/HomeBasic1。我想使用 HomeBasic1Controller,但在 url 中显示localhost:XXXXX/Home
    • 如果我把homebasic1controller放到另一个项目中?我可以将项目称为 homebasic1 而控制器只是 homecontroller!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多