2010-05-28 4 views
13

Я хочу показать сообщение на моей домашней странице (по умолчанию.aspx), что отличается для каждой «установки» моего веб-приложения. Я хотел бы избежать вызова в базу данных, чтобы показать это сообщение .. поэтому я думал использовать web.config для хранения что-то вроде этогоИспользовать HTML-разметку в файле web.config

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

Но я заметил, что я не могу использовать HTML-разметку в web.config ... Есть ли лучший подход, или есть способ вставить html-разметку в web.config? Еще раз благодарю вас за переполнение гуру гуру ... Я многому научился у вас!

+0

Вы пытались использовать метод «Server.HTMLEncode», а затем применяли метод «Server.HTMLDecode» к строке, которую вы читали из файла? Однако я не уверен, что это будет работать в документе XML. –

ответ

15

Вам нужно, чтобы XML закодировал его, чтобы сохранить его в XML как действительное значение атрибута. например:

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

Использует ли метод Server.HTMLEncode то же самое, что и XMLEncode, или существуют различия? –

+0

@ Rising Star Они очень похожи, но тонко отличаются. В любом случае, app.config - это XML-файл, поэтому он должен быть закодирован в формате XML (поэтому не пытайтесь использовать HTML-объекты, такие как '©' или ' ') –

11

Использование "& л;" и "&"; вместо «<» и «>»:

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

wow guys, stackoverflow - это «Библия» для программиста ! ;) еще раз спасибо! – stighy

4

У вас есть несколько примеров того, как добавить его в файл web.config, но я хотел бы предложить вам рассмотреть вопрос о добавлении „локализации“ XML-файл App_Data и читать его оттуда, а не загрязнять файл web.config с настройками для каждой установки. Вы можете прочитать этот файл во время запуска приложения и сохранить значения в HttpRuntime.Cache по ключу, извлекая их оттуда по мере необходимости. Обратите внимание, что вам нужен способ восстановить их, если они очищаются от кеша (или отмечают их как не удаляемые). Используйте тот же метод, чтобы закодировать его для атрибута в XML-файле или, если дольше, сохранить его в CDATA в значении узла.

Я использую такую ​​технику с двумя файлами XML, значениями по умолчанию и локализациями. По умолчанию задаются значения по умолчанию для локализуемых аспектов приложения. Локализации, если они присутствуют, переопределяют значения по умолчанию. В моем случае они загружаются в объект Singleton для приложения с сильно типизированными свойствами для значений. Обратите внимание, что это охватывает гораздо больше, чем просто локализованные строки; они могут быть сколь угодно сложными. Объект Singleton имеет методы для чтения и применения как значений по умолчанию, так и локализации с учетом пути к XML-файлу.

Смежные вопросы