概要
我正在审查我最近开始研究的网站的路线映射。我遇到了一条我不熟悉的路线:
RouteTable.Routes.MapRoute(NamedRoutes.ROUTE_NAME, "urlSegment1/urlSegment2", new { });
请注意,MapRoute的“default”参数是一个空对象。这通常是指定我的控制器,操作和任何参数的地方。我一直在谷歌上搜索,我发现我没有问正确的问题来产生我正在寻找的答案。
问题:
当MapRoute的“defaults”参数是空对象时,MVC路由如何表现?答案很棒。支持文档会更好。
修改
使用的实际路线是:
routes.MapRoute(NamedRoutes.BROWSE_MEN, "browse/Mens", new { } });
使用以下方法生成URL时出现问题:
Html.BeginForm("Add", "Signup", FormMethod.Post, new { id = "signup", enctype = "multipart/form-data" })
答案 0 :(得分:0)
当您未指定控制器时,无论是作为URL参数(标记)还是默认值,您都应该获得InvalidOperationException:
匹配的路线不包含“控制器”路线值 是必需的。
同样的行动。这是传入请求。对于URL生成,不需要控制器或操作。
答案 1 :(得分:-1)
您不必指定默认值。
因此它的工作方式就好像没有指定默认对象