Bonjour à tous,
Je viens vers vous pour vous soumettre mon problème. Ce dernier est simple en apparence, aussi je ne serais pas surpris que l'erreur se corrige en une ligne de code.
Dans mon controller "Home", j'ai un ActionResult "Recherche" qui peut prendre en paramètre deux strings, dont le second est optionnel. C'est à dire que je souhaiterai pouvoir appeler l'action par le biais des deux exemples suivants:
En pratique, ca passe. Dans les deux cas mon point d'arrêt à l'entrée de mon ActionResult "Recherche" est bien atteint dans les deux cas. Le cas 1 est OK. Le problème est que dans le cas 2, les deux paramètres reçus par le ActionResult sont null alors que normalement seulement le second est censé l'être.Cas 1: http:// localhost/MonSite/Home/Recherche/MaValeur1/MaValeur2
Cas 2: http:// localhost/MonSite/Home/Recherche/MaValeur1
RouteConfig:
Controller:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 routes.MapRoute( name: "Recherche", url: "{controller}/{action}/{v1}/{v2}", defaults: new { controller = "Home", action = "Recherche", v2 = UrlParameter.Optional } );
J'ai tout essayé, même de passer le v1 en Optional dans le RouteConfig, mais rien n'y fait: quand je passe un seul paramètre dans l'URL, les deux paramètres reçus sont nulll.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public ActionResult Recherche(string v1, string v2) { (...) }
A votre avis, qu'est ce qui ne va pas dans ce code?
Par avance merci!
Partager