可以为控制器创建捕获所有路由吗?

Possible to create catch all route for a controller?

对于特定的控制器,是否可以将任何不存在的操作路由到索引?

例如,如果我有

fashionController/
fashionController/shoes/
fashionController/bags/
fashionController/otherStuff/

我希望能够仅设置索引视图和操作,而其他任何内容都将自动使用索引,而无需为其他任何内容创建单独的 views/actions。

是的。

不要求控制器或动作名称是 Url 的一部分。例如,您可以使用以下路由将所有 "fashion/*" 路由到相同的操作。

routes.MapRoute(
            "AllToIndex",
            "fashion/{argument1}",
            new { controller = "fashion", action = "Index", argument1 = "" }
        );

请注意,路由按添加顺序匹配,因此如果您在默认 "{controller}/{action}" 之后注册此路由,它将永远不会匹配。一般来说,更具体的路线应该在更通用的路线之前,最后一次应该是可选的 "cath'em all" 一个 "{*path}" 数学。