J'ai du mal à faire fonctionner une Route afin de contraindre les paramètres d'une action d'un contrôleur à être uniquement des entiers.ASP.NET MVC Route ne fonctionnant pas avec contrainte
J'ai aa action du contrôleur comme suit:
[RequiresRole(RoleToCheckFor = "Administrator"), AcceptVerbs(HttpVerbs.Get)]
public ActionResult Edit(int id)
{
...
}
et les routes suivantes: Global.asax.cs
routes.MapRoute(
"UserEdit",
"user/edit/{id}",
new {controller = "user", action = "edit"},
new {id = @"\d+"}
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "notfound" });
J'attends donc que si j'entre http://domain.com/user/edit/ABCD i shouldn 't obtenir l'erreur habituelle suivante:
Le dictionnaire de paramètres contient un null entrée pour le paramètre « id » de type non annulable « System.Int32 » pour la méthode « System.Web.Mvc.ActionResult Edit (Int32) »
Ce (je pense) est précisément ce qui est dit aussi à http://www.asp.net/%28S%28pdfrohu0ajmwt445fanvj2r3%29%29/learn/mvc/tutorial-24-cs.aspx
Cependant, je vois encore l'erreur "... null entry ...".
Des idées pourquoi tout cela est-il ainsi? Est-ce que je fais quelque chose de mal avec la configuration de la route?
Merci