Bonjour les amis.
Malgré un bagage WebForms assez important, je viens à peine d’aborder ASP.NET MVC.
Avec la sortie d’ASP.NET 4 et VS 2010 j’ai joué un peu avec le site de démo d’ASP.NET MVC 2 (le même que MVC “1”).
J’ai alors essayé d’ajouter un contrôleur de test, avec une action prenant en charge un paramètre wildcard.
Voici ma route ajoutée :
routes.MapRoute(
"Test",
"{controller}/{action}/{*pathInfo}",
new { controller = "Test", action = "Browse" }
);
Voici l’action de mon contrôleur :
public ActionResult Browse(String pathInfo)
{
ViewData["PathInfo"] = pathInfo;
return View();
}
Et voici enfin ma vue :
[code]
Browse
PathInfo = <%: ViewData["PathInfo"] %>
Absolument rien d’extraordinaire.
Je visite donc mon site, je lui passe le chemin “/Test/Browse/abc” et là… RIEN. pathInfo est null.
Je teste d’autres valeurs, et voici le résultat :
/Test/Browse donne pathInfo = null
/Test/Browse/ donne pathInfo = null
/Test/Browse/abc donne pathInfo = null
/Test/Browse/abc/ donne pathInfo = null
/Test/Browse/abc/def donne pathInfo = “abc/def”
/Test/Browse/abc/def/ghi donne pathInfo = “abc/def/ghi”
Le tout est reproduisible sur ce site :
http://dev4.smartgeek.net/Test/Browse
J’ai regardé la documentation, et il ne me semble pas être passé à côté de quelque chose :
http://msdn.microsoft.com/en-us/library/cc…n_a_url_pattern
[quote]query/{queryname}/{*queryvalues}
query/select/bikes/onsale
queryname = "select"
queryvalues = “bikes/onsale”
query/select/bikes
queryname = "select"
queryvalues = “bikes”[/quote]
C’est mes premiers essais avec ASP.NET MVC, et j’ai déjà un comportement différent de la doc, ça commence bien !