Sur mon contrôleur domestique, toutes les actions sauf une n'ont pas de paramètre ID, pour toutes les actions sans paramètre ID, je voudrais que l'action apparaisse dans l'URL, mais pas le contrôleur. Pour une action que je voudrais ni le contrôleur ou l'action à afficher dans l'URL, seul le paramètre d'identification pour cette action, par exemple:Routage MVC sans action visible dans l'URL pour 1 action mais l'identifiant n'apparaissant que dans l'URL pour une autre action sur le même contrôleur?
routes.MapRoute(
"OnlyCourse",
"{courseabbrev}",
defaults: new { controller = "Home", action = "course", courseabbrev = UrlParameter.Optional }
);
routes.MapRoute(
"OnlyAction",
"{action}",
defaults: new { controller = "Home", action = "Index"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{courseabbrev}",
defaults: new { controller = "Home", action = "Index", courseabbrev = UrlParameter.Optional }
);
Cependant, si je mets la route OnlyCourse d'abord les voies d'action de l'indice par le biais et si J'ai mis la route OnlyAction d'abord la route OnlyCourse n'est pas trouvée. Comment puis-je obtenir ces itinéraires pour répondre à des actions spécifiques indépendamment?
modifier -
Ainsi, par exemple l'URL uniquement Cours (action bien sûr) serait:
http://www.sitename.come/courseabbrev
et l'URL pour les autres actions serait
http://www.sitename.com/action
J'ai déjà essayé ce qui suit:
routes.MapRoute(
"OnlyCourse",
"{courseabbrev}",
defaults: new { controller = "Home", action = "course"},
constraints: new { action = "course" }
);
routes.MapRoute(
"OnlyAction",
"{action}",
defaults: new { controller = "Home" }
);
Et cela fait l'affaire pour l'action d'index, cependant toute autre action utilise toujours la route OnlyCourse. J'ai essayé d'ajouter une contrainte mais cela ne semble pas faire grand-chose car cette route considérera toutes les actions en dehors de l'index.
pouvez-vous ajouter l'URL à la fois OnlyCourse et OnlyAction à partir de laquelle vous essayez de accès – Usman
Bonjour, J'ai ajouté l'URL en question plus quelques autres résultats. À votre santé. – Rob
vous n'avez pas besoin d'action seule la route par défaut gérera pour vous même s'il n'y a pas d'ID – Usman