对于特定的控制器,是否可以将任何不存在的操作路由到索引?
例如,如果我有
fashionController/
fashionController/shoes/
fashionController/bags/
fashionController/otherStuff/
我希望只能设置索引视图&动作,其他任何东西都会自动使用索引,而不必为其他任何东西创建单独的视图/动作。
答案 0 :(得分:0)
是
不要求控制器或操作名称是Url的一部分。例如,您可以路由所有" fashion / *"与以下路线相同的行动。
routes.MapRoute(
"AllToIndex",
"fashion/{argument1}",
new { controller = "fashion", action = "Index", argument1 = "" }
);
请注意,路线会按照添加的顺序进行匹配,因此如果您在默认"{controller}/{action}"
之后注册此路线,则永远不会匹配。一般来说,更具体的路线应该更通用一次,最后一个应该是可选的"cath'em all"一个"{*path}"
数学。