re,
ce que je ne comprends pas, c'est pourquoi tu utilises le nom et pas directement l'id ?
mais bon...
concernant le "é" il n'y a pas (à ma connaissance) de fonction inverse, il faut faire un replace au cas par cas nom.replace("eacute;","é")<- pas sûr du "eacute;".
Autrement, tu peut ajouter :
<
pages validateRequest="false" />Dans ton web.config dans:
<
system.web>
</
system.web>
Cela aura pour effet de ne pas faire de Server.HTMLEncode (entre autres) automatique et ton "é" restera un "é".
Mais il faudra bien tester toutes tes pages (si un utilisateur entre "<br>" dans une textbox (par example), et que tu réaffiches cette valeur sur une page web, les "<" et ">" ne seront plus remplacés par leur équivalents encodés.
Cela peut poser problème (imagine que quelqu'un entre un javascript, et bien il sera exécuté lors de l'affichage).
C'est pourquoi, lorsque j'utilise
<pages validateRequest="false" />
J'affiche toujours mes valeurs via Server.HTMLEncode par la suite.
Donc, pour résumer (c'est ma méthode perso pour les champs de type String):
- mettre
<pages validateRequest="false" /> dans le web.config (cela empêche l'encodage des paramètres)
- lorsque je sauve dans la base je fais .Replace("'","''")
- lorsque j'affiche à l'écran j'utilise Server.HTMLEncode (mais pas toujours...)
Mais, encore une fois, je te conseille de passer directement par les id plutôt que par les libellés.
yopyop