Soy nuevo en ASP.NET MVC3.Ruta incorrecta que se recogió y ActionLink genera un hipervínculo incorrecto
He configurado algunas rutas en Global.asax, contra las cuales estoy generando algunos hipervínculos usando el método de ayuda @ Html.ActionLink.
Todos los enlaces están siendo correctamente prestados, excepto el superior en el código de abajo:
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
);
código ActionLink
@Html.ActionLink(@subPages.LinkedPageName, "DetailPage",
new {
Controller = "Base",
Page = @ViewBag.PageName,
SubPage = @Model.SubPageName,
DetailPageName = subPages.LinkedPageName
})
Lo anterior debe elegir la ruta superior, es decir:
routes.MapRoute(
null,
"Section/{Page}/{SubPage}/{DetailPageName}",
new { controller = "Base" }
);
¡Pero está eligiendo la ruta predeterminada!
Noté que no hay 'acción' definida en su primera ruta. – Jacob