Sono nuovo ad ASP.NET MVC3.Percorso errato rilevato e ActionLink genera un collegamento ipertestuale errato
Ho configurato alcuni percorsi in Global.asax, rispetto al quale sto generando alcuni collegamenti ipertestuali usando il metodo helper @ Html.ActionLink.
Tutti i collegamenti sono sempre resi correttamente, tranne quello in alto nel seguente codice:
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
);
codice ActionLink
@Html.ActionLink(@subPages.LinkedPageName, "DetailPage",
new {
Controller = "Base",
Page = @ViewBag.PageName,
SubPage = @Model.SubPageName,
DetailPageName = subPages.LinkedPageName
})
È possibile che questo dovrebbe scegliere il percorso superiore, ovvero:
routes.MapRoute(
null,
"Section/{Page}/{SubPage}/{DetailPageName}",
new { controller = "Base" }
);
Ma sta selezionando il percorso predefinito!
Ho notato che non vi è alcuna azione definita nel primo percorso. – Jacob