Comment est-ce que je devrais définir l'itinéraire dans mon global.asax pour pouvoir utiliser les paramètres nullable et la virgule comme séparateur?ASP.NET Mvc - paramètres nullable et virgule comme séparateur
Je suis en train de mettre en œuvre des règles de routage pour mes utilisateurs de la recherche page comme
"{Controller}/{Action},{name},{page},{status}"
Notice complète du Global.asax:
routes.MapRoute(
"Search",
"{controller}/{action},{name},{page},{status}",
new { controller = "User", action = "Find",
name = UrlParameter.Optional,
page = UrlParameter.Optional,
status = UrlParameter.Optional }
);
routine défini comme ci-dessus fonctionne très bien quand je suis entrer tous les paramètres, mais lorsque certains paramètres sont égaux à un routage nul échoue (par exemple "user/find ,,,")
Selon Clicktricity commentaire ci-dessous - la singature de la méthode d'action qui handes la demande:
public ActionResult Find(string userName, int? page, int? status)
{
// [...] some actions to handle the request
}
Au début, je testais la route par VS débogueur, maintenant je suis en utilisant débogueur d'itinéraire décrit sur Phil's Haack blog. L'outil confirme - que le routage avec des valeurs NULL n'est pas correctement géré (ou que je fais quelque chose de mal;))
Quelle est la définition de votre action du contrôleur? Permet-il des valeurs nullables? – Clicktricity
Cela fonctionne-t-il si vous utilisez des barres obliques? Il y a une discussion que vous pourriez vouloir lire ici http://stackoverflow.com/questions/198606/can-i-use-commas-in-a-url – Ryan