J'ai un contrôleur appelé Dashboard
avec 3 actions: Summary
, Details
et Status
, dont aucun ne prend d'ID ni aucun autre paramètre. Je souhaite que l'URL /Dashboard
soit acheminée vers l'action Summary
du contrôleur Dashboard
, comme le fait /Dashboard/Summary
, mais je ne parviens pas à trouver la bonne façon d'ajouter l'itinéraire. Dans Global.asax.cs
, j'ai les éléments suivants:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
routes.MapRoute(
"/Dashboard",
"Dashboard",
new { controller = "Dashboard", action = "Summary" }
);
Pour la deuxième partie, j'ai aussi essayé:
routes.MapRoute(
"/Dashboard",
"{controller}",
new { controller = "Dashboard", action = "Summary" }
);
et
routes.MapRoute(
"/Dashboard",
"{controller}",
new { action = "Summary" }
);
mais je reçois toujours un 404 en essayant d'accéder à /Dashboard
. Je suis à peu près sûr que je manque quelque chose sur le format pour les paramètres à MapRoute
, mais je ne sais pas ce que c'est ...
Déplacez votre route de tableau de bord devant la route par défaut:
routes.MapRoute(
"Dashboard",
"Dashboard/{action}",
new { controller = "Dashboard", action = "Summary" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
L'ordre des itinéraires change tout. Notez également les modifications apportées à la route Dashboard
. Le premier paramètre est le nom de la route. Deuxièmement, l'URL, qui correspond aux URL commençant par Dashboard
et permet d'autres actions dans votre contrôleur Dashboard
. Comme vous pouvez le constater, l’action par défaut Summary
est utilisée par défaut.
Vous devez déclarer le dernier itinéraire "Défaut".
Cette action définie par défaut pour tout contrôleur asp.net:
routes.MapRoute("Dashboard", "{controller}/{action}",
defaults: new { controller = "Dashboard", action = "Summary" });