2010-05-28 5 views
13

Je souhaite afficher un message sur ma page d'accueil (default.aspx), ce qui est différent pour chaque "installation" de mon application Web. Je voudrais éviter de faire un appel à la base de données pour afficher ce message .. donc je pensé à utiliser web.config pour stocker quelque chose comme çaUtiliser le balisage HTML dans le fichier web.config

<add key="WelcomeString" value="lorem ipsus <b>doloret sit amen</b>" /> 

Mais je l'ai remarqué, je ne peux pas utiliser les balises html le web.config ... Y a-t-il une meilleure approche, ou y a-t-il un moyen d'insérer le balisage html dans web.config? Merci encore le gourou de débordement de pile ... j'apprends de vous beaucoup de choses!

+0

Avez-vous essayé d'utiliser la méthode 'Server.HTMLEncode', puis d'appliquer la méthode' Server.HTMLDecode' à la chaîne que vous avez lue dans le fichier? Je ne suis pas sûr que cela fonctionnerait dans un document XML, cependant. –

Répondre

15

Vous devez le coder XML pour le stocker dans le fichier XML en tant que valeur d'attribut valide. par exemple:

<add key="WelcomeString" value="lorem ipsus &lt;b&gt;doloret sit amen&lt;/b&gt;" /> 
+0

Est-ce que la méthode Server.HTMLEncode accomplit la même chose qu'un XMLEncode, ou existe-t-il des différences? –

+0

@Rising Star Ils sont très similaires, mais subtilement différents. De toute façon, app.config est un fichier XML, donc il doit être codé en XML (donc n'essayez pas d'utiliser des entités HTML comme '©' ou ' ') –

11

utilisation "& lt;" et "& gt;" au lieu de « < » et « > »:

<add key="WelcomeString" value="lorem ipsus &lt;b&gt;doloret sit amen&lt;/b&gt;" /> 
+1

wow guys, stackoverflow est "LA" bible pour un programmeur ! ;) Merci encore! – stighy

4

Vous avez quelques exemples de comment l'ajouter au fichier web.config, mais je suggère que vous envisagez d'ajouter un fichier XML « de localisation » à App_Data et lisez-le à partir de là plutôt que de polluer le fichier web.config avec des personnalisations pour chaque installation. Vous pouvez lire ce fichier lors du démarrage de l'application et stocker les valeurs dans la clé HttpRuntime.Cache par clé, en les récupérant à partir de là selon les besoins. Notez que vous avez besoin d'un moyen de les régénérer s'ils sont vidés du cache (ou les marquer comme non amovibles). Utilisez la même technique pour l'encoder pour un attribut dans le fichier XML ou, si plus long, le stocker dans CDATA dans la valeur du nœud. J'utilise une technique comme celle-ci avec deux fichiers XML, les valeurs par défaut et les localisations. Defaults fournit des valeurs par défaut pour les aspects localisables de l'application. Les localisations, si présentes, remplaceront les valeurs par défaut. Ceux-ci sont chargés, dans mon cas, dans un objet Singleton pour l'application qui a des propriétés fortement typées pour les valeurs. Notez que cela englobe bien plus que de simples chaînes localisées; ils peuvent être arbitrairement complexes. L'objet Singleton a des méthodes pour lire et appliquer les valeurs par défaut et les localisations en fonction du chemin d'accès au fichier XML.

Questions connexes