MVC 路由 - 隐藏索引

MVC Routes - Hide Index

我试图从我的应用程序的索引操作中省略“/Index”。我知道有一百万个类似的帖子,但我的帖子似乎有点不同。

基本上,我想将 "home" controller/action 设置为 Time/Dashboard,但仍将 "Index" 设置为所有其他控制器的默认操作。

当我的默认路线是 "Home" "Index" 时。其他页面都很好。 "Index" 会隐藏。但后来我把它改成了"Dashboard"。所以现在当我导航到任何 controller/Index 时。它需要“/Index”,否则我会得到 404。现在这是我的路线:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

我想这是一个愚蠢的问题。

"home" 或默认操作的实际名称并不重要,因为没有人会看到它。

所以我应该将其命名为 "Index" 或将我的所有其他页面命名为 "Dashboard"。

如果我有特殊情况,那么只需使用 RedirectToAction,如果我真的想隐藏 url,甚至 return 另一个视图。