Я новичок в ASP.NET MVC3.
Я настроил несколько маршрутов в 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" }
);
Но он выбирает маршрут по умолчанию!