MVC URL路径扩展

本文关键字:扩展 路径 URL MVC | 更新日期: 2023-09-27 18:27:42

我只是想知道是否可能有这样的东西:我有一个名为Admin的区域和一个名"Edit"的控制器。在这个控制器中,我有我的Index(),它只是列出了一堆由"品牌"操作处理的超链接。

因此,到目前为止我的url是:Admin/Edit/{Brand}

我的问题是是否有可能拥有例如:Admin/Edit/{Brand}/Create(以及编辑和删除)。这不是删除品牌,只是在这些品牌中创造东西?

我认为我的方法可能被误导了,这可能需要拆分为多个控制器或其他什么,所以我不认为我想要一个变通方法来让它以这种方式工作。

MVC URL路径扩展

您可以在区域注册中定义以下路线:

context.MapRoute(
    "Admin_default",
    "Admin/{controller}/{brand}/{action}",
    new { action = "Index" }
);

如果您希望在该区域中有Edit以外的其他具有默认路由的控制器,您可以注册2条路由,但必须为{brand}令牌定义一个约束,否则路由引擎将无法消除品牌和控制器操作名称之间的歧义。