Nous avions un itinéraire défini commeRoute contenant <space> et slash
routes.MapRoute(
name: "SearchFor",
url: "Search/For/{text}",
defaults: new
{
controller = "Search",
action = "For",
text = UrlParameter.Optional
}
Après un nouveau client dont les données pouvait contenir beaucoup de slashs nous avons eu un problème avec text
tels que item/1
. Pour contourner ce la route a été mis à jour comprennent un fourre-tout comme suit
routes.MapRoute(
name: "SearchFor",
url: "Search/For/{*text}",
defaults: new
{
controller = "Search",
action = "For",
text = UrlParameter.Optional
}
Toutefois, cela ne permet pas si le text
contient un espace de premier plan à la barre oblique par exemple item /1
qui provoque IIS pour renvoyer une erreur 404.
Est-il possible de contourner ce problème sans coder le paramètre de texte d'une certaine manière?
Merci pour les informations très utiles, en particulier cet article. – Fishcake