在 ASP MVC 中为 Area 设置简单的 URL 路由,没有 RoutArea

Set simple URL route for Area in ASP MVC, without RoutArea

我有一个名为 Admin 的区域。我已经将 routes.MapMvcAttributeRoutes(); 添加到我的 RouteConfig.cs。 我想要这样的 URL: /admin 而不是 /Admin/Products/Create 大多数答案是指添加 RouteAreaRoutePrefix

[RouteArea("Admin")]
[RoutePrefix("add")]
 public class ProductsController : Controller
    {
    [Route("Create")]
    public ActionResult Create()

它会把我们带到这样的地方 URL:/Admin/add/Create 这不是我要找的。 我想让 URL 保持简单; /admin

你可以这样使用~/admin

 [Route("~/admin")]
 public ActionResult Create()

所以当您输入 URL /admin 时,它将带您到 /Admin/Products/Create

或者您可以将 Route("") 设置为空字符串,这也会将您带到 /admin

[RouteArea("Admin")]
public class ProductsController : Controller
{
    [Route("")]
    public ActionResult Create()