asp mvc de routage avec les deux paramètres facultatifs
Salut Comment faire correspondre l'url ../Entreprises/Résultats/valeur/id lorsque les deux paramètres sont facultatifs?
Les sociétés, le contrôleur, les Résultats de l'action, de la valeur et id sont des paramètres facultatifs. Sur mon formulaire est une zone de texte pour la valeur et un selectlist pour une identification. L'utilisateur peut sélectionner ou de l'un de chaque pour la recherche. Essayé quelque chose comme cela, mais ne peux pas gérer lorsque l'un des paramètres facultatifs, dire la valeur est manquante comme ../Entreprises/Résultats//id
routes.MapRoute(
"Company+Profession", //Route name
"{action}/{value}/{profId}", //URL with parameters
new { controller = "Companies", action = "Index", value = UrlParameter.Optional, profId = UrlParameter.Optional } //Parameter defaults
);
routes.MapRoute(
"Default", //Route name
"{controller}/{action}/{id}", //URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } //Parameter defaults
);
OriginalL'auteur 0wen101 | 2011-02-21
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir un itinéraire qui a deux paramètres facultatifs, seul le dernier paramètre peut être facultatif précisément parce que le problème que vous décrivez. Je suggère que vous avez un paramètre par défaut pour
value
, comme byid et utilisez cette fonction lorsque l'utilisateur sélectionne une profession.Je suppose que vous êtes la construction de l'URL via javascript, car l'utilisation d'une forme d'action aurait pour conséquence le paramètre noms ajoutés à l'URL. Dans ce cas, lorsque la zone de texte est vide, il suffit d'insérer la valeur par défaut byid.
Mise à jour de votre parcours afin d'inclure la valeur par défaut de sorte que toute les Url que vous générez fonctionne. Voir Phil Haack est post de blog sur ce pour une autre façon de gérer la génération d'URLs qui ont deux paramètres "facultatifs".
OriginalL'auteur tvanfosson
Merci les gars, juste de découvrir la route des contraintes pour entier. Et donc de bidouiller avec certaines combinaisons de routes il semble que ça fonctionne comme je le veux :
OriginalL'auteur 0wen101
Je ne suis pas sûr, puisque je n'ai pas maintenant où pour essayer cela, mais voici ma suggestion
OriginalL'auteur Milan Jaric