6
我新的ASP.NET MVC3。错误路径越来越拾起并ActionLink的是产生错误的超级链接
我已经配置在Global.asax中某些路线,针对其我生成使用@ Html.ActionLink辅助方法中的一些超链接。
所有链接都得到正确呈现除了最上面的一个在下面的代码:
的Global.asax
routes.MapRoute(
null,
"Section/{Page}/{SubPage}/{DetailPageName}",
new { controller = "Base" }
);
routes.MapRoute(
null,
"Section/{Page}/{SubPage}",
new { controller = "Base", action = "SubPage" }
);
routes.MapRoute(
null,
"Section/{Page}",
new { controller ="Base", action="LandingPage"}
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Base", action = "Index" } // Parameter defaults
);
ActionLink的代码
@Html.ActionLink(@subPages.LinkedPageName, "DetailPage",
new {
Controller = "Base",
Page = @ViewBag.PageName,
SubPage = @Model.SubPageName,
DetailPageName = subPages.LinkedPageName
})
上面应该选择最高路线,即:
routes.MapRoute(
null,
"Section/{Page}/{SubPage}/{DetailPageName}",
new { controller = "Base" }
);
但它正在复苏的默认路由!
我注意到在您的第一条路线没有定义'action'。 – Jacob