Использовать разметку HTML в файле web.config - PullRequest
13 голосов
/ 29 мая 2010

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

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

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

Ответы [ 3 ]

15 голосов
/ 29 мая 2010

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

<add key="WelcomeString" value="lorem ipsus &lt;b&gt;doloret sit amen&lt;/b&gt;" />
12 голосов
/ 29 мая 2010

Используйте "& lt;" и "& gt;" вместо "<" и ">":

<add key="WelcomeString" value="lorem ipsus &lt;b&gt;doloret sit amen&lt;/b&gt;" />
4 голосов
/ 29 мая 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...