ConfigurationManager.AppSettings还是仅AppSettings?

时间:2011-03-28 23:48:21

标签: c# asp.net webforms expressionbuilder

我有疑问:我何时使用<%= ConfigurationManager.AppSettings["xxx"] %><%$ AppSettings: xxx %>

有时当我使用<%= ConfigurationManager.AppSettings["xxx "] %>时,我收到以下错误:“服务器标签不能包含&lt;%...%&gt;构造”。然后放置<%$ 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 个答案:

答案 0 :(得分:3)

发生错误不是因为您在ConfigurationManager.AppSettingsAppSettings之间切换,而是因为<%之后使用的符号。您不能在呈现标记的服务器端控件中具有代码呈现标记。第二种方式有效,因为它在服务器端控件呈现之前评估表达式。

我的偏好是始终使用ConfigurationManager.AppSettings,因为代码访问的内容更清晰。