Gestion des quotes dans javascript via C#

zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 - 28 sept. 2007 à 14:47
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 29 sept. 2007 à 20:57
Bonjour,

Dans mon application, j'invite les utilisateurs à écrire leurs commentaires dans un champ texte. Ce texte est stocké est base de données SQLServer, puis ensuite affiché dans une sorte de bulle, grâce à javascript.
Le problème est que si l'utilisateur insère, dans son commentaire, un caractère comme 'quote', ca casse la chaîne javascript car cette côte est interprétée par IE. La solution est de mettre un '\' devant les quotes.
D'où ma question : est ce que quelque chose est prévu dans le C# pour transformer du texte "string" en texte "affichable" par du jaavascript ? Ou bien suis-je condamné à faire du String.Replace() ?

Merci d'avance de m'éclairer sur ce point..

2 réponses

cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
28 sept. 2007 à 18:36
Tu peux employer les expressions régulières (namespace System.Text.Regex) pour faire les remplacements. Même si c'est les regex sont plus classes :-), ça ne change pas grand chose à l'affaire.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
29 sept. 2007 à 20:57
Salut,

Intégré, non.
Par contre il existe sans doute quelques méthodes utilitaires deci delà, dont notamment une dans l'AntiXssLibrary : JavaScriptEncode.

Ton texte, en sortie donnera ceci :
'Dans mon application, j\x27invite les utilisateurs \u00e0 \u00e9crire leurs commentaires dans un champ texte. Ce texte est stock\u00e9 est base de donn\u00e9es SQLServer, puis ensuite affich\u00e9 dans une sorte de bulle, gr\u00e2ce \u00e0 javascript.\x0d\x0aLe probl\u00e8me est que si l\x27utilisateur ins\u00e8re, dans son commentaire, un caract\u00e8re comme \x27quote\x27, ca casse la cha\u00eene javascript car cette c\u00f4te est interpr\u00e9t\u00e9e par IE. La solution est de mettre un \x27\x5c\x27 devant les quotes.\x0d\x0aD\x27o\u00f9 ma question \x3a est ce que quelque chose est pr\u00e9vu dans le C\x23 pour transformer du texte \x22string\x22 en texte \x22affichable\x22 par du jaavascript \x3f Ou bien suis-je condamn\u00e9 \u00e0 faire du String.Replace\x28\x29 \x3f'

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous