Je tente d'utiliser HttpUtility.UrlEncode pour coder les chaînes qui sont finalement utilisées dans les URL.MVC HttpUtility.UrlEncode
exemple
/string/http://www.google.com
ou
/string/ma chaîne de test
où http://www.google.com est un paramètre passé à un contrôleur.
J'ai essayé UrlEncode mais il ne semble pas fonctionner tout à fait raison
mon itinéraire ressemble à:
routes.MapRoute(
"mStringView",
"mString/{sText}",
new { controller = "mString", action = "Index", sText = UrlParameter.Optional }
);
Le problème est les bits codés sont décodés il semble quelque part dans le routage .. sauf des choses comme "+" qui remplacent "" ne sont pas décodés ..
Comprendre mon cas, où un UrlParameter peut être n'importe quelle chaîne, y compris les URL .. quelle est la meilleure façon de les encoder avant de les pousser dans mon db, puis gérer le décodage en sachant qu'ils seront l être passé à un contrôleur en tant que paramètre?
merci!
À quoi ressemblent les URL codées?L'exemple de google devrait montrer '/ string/http% 3a% 2f% 2fwww.google.com' –
ok voici le problème/String/rich% 27s + tags + paramètre de test au contrôleur est" test de tags de riches "et/Tag/testing + un autre paramètre tag au contrôleur est "testing + another + tag" donc les plus ne sont pas remplacés pour cette chaîne ???? Je ne comprends pas .. – toddm
Vous devrez peut-être faire Http.UrlDecode sur votre code de contrôleur avant d'utiliser la valeur. –