Je génère une URL pour une liste, et quand l'identifiant correspond à une certaine chaîne, je voudrais appeler une autre route que l'article par défaut que j'ai réussi à faire. J'ai trois routes, toutes fonctionnelles.Routage ASP.NET MVC: 2 route pour la même page, comment donner la même URL rendue?
routes.MapRoute(
name:="ArticleToPage",
url:="article-MySecondPage",
defaults:=New With {.Controller = "MySecondPage", .Action = "MySecondPage"}
)
routes.MapRoute(
name:="MySecondPage",
url:="MySecondPage",
defaults:=New With {.controller = "MySecondPage", .action = "MySecondPage"}
)
routes.MapRoute(
name:="Article",
url:="article-{id}",
defaults:=New With {.Controller = "Page", .Action = "Article", .id = UrlParameter.Optional}
)
Cela fonctionne très bien, me redirigeant exactement où je veux.
Mais existe-t-il un moyen d'appeler la route "MySecondPage" au lieu de "AticleToPage", afin d'avoir la bonne url? J'ai essayé de spécifier le chemin de l'action et plusieurs choses mais je ne suis nulle part .. Connaissez-vous un moyen ??
EDIT
Je ne pourrais pas avoir été clair là-haut
j'ai 2 url lié à ces routes me envoyer à la même page:
Site/MySecondPage
Site/Article-MySecondPage
Quand je l'appelle « Site/Article-MySecondPage "id aiment vraiment rediriger vers ma route" MySecondPage ", ou convertir l'URL dans l'appel de route (mais je ne pense pas que ce soit possible) à" Site/MySecondPage "
j'ai essayé déjà, mais il doesn fonctionne pas depuis l'URL que je veux changer correspondre à la « ArticleToPage » – KryunoKijy
mais dans les deux itinéraires que vous appelez le même contrôleur et l'action, sans aucun changement, ou un attribut supplémentaire –
aussi l'URL doit être comme l'URL que vous voulez. exemple 'routes.MapRoute ( name: =" Article ", url: =" {controller}/{action} - {id} ", defaults: = Nouveau {Controller =" Page ", Action =" Article " , id = UrlParameter.Optional} ); –