ConfigurationManager.AppSettings или только AppSettings? - PullRequest
1 голос
/ 29 марта 2011

У меня вопрос: когда я использую <%= ConfigurationManager.AppSettings["xxx"] %> и <%$ AppSettings: xxx %>.

Иногда, когда я использую <%= ConfigurationManager.AppSettings["xxx "] %> a, я получаю следующую ошибку: «Серверные теги не могут содержать конструкции <%…%>».Затем пут <%$ AppSettings: xxx %> и все работает.

Как в этом примере: Ошибка:

<asp:Literal runat="server" ID="Literal9" Text="<%= ConfigurationManager.AppSettings["xxx"] %>"></asp:Literal>

Рабочая:

<asp:Literal runat="server" ID="Literal9" Text='<%$ AppSettings: xxx %>'></asp:Literal>

1 Ответ

3 голосов
/ 29 марта 2011

Ошибка возникает не потому, что вы переключаетесь между ConfigurationManager.AppSettings и AppSettings, а из-за символа, используемого после <%. Вы не можете иметь разметку рендеринга кода внутри серверного элемента управления, который отрисовывает разметку. Второй способ работает, потому что он оценивает выражение перед рендерингом управления на стороне сервера.

Я предпочитаю всегда использовать ConfigurationManager.AppSettings, потому что более понятно, к какому коду осуществляется доступ.

...