2011-03-28 61 views
1

我有问题:当我使用<%= ConfigurationManager.AppSettings["xxx"] %><%$ AppSettings: xxx %>ConfigurationManager.AppSettings或只有AppSettings?

有时当我使用<%= ConfigurationManager.AppSettings["xxx "] %>时,出现以下错误:“服务器标记不能包含<%...%>结构”。然后放一个<%$ 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> 

回答

3

不是因为你ConfigurationManager.AppSettingsAppSettings之间切换时出现错误,但由于<%之后使用的符号。您不能在呈现标记的服务器端控件中呈现代码呈现标记。第二种方法是有效的,因为它在服务器端控制渲染之前评估表达式。

我的首选是总是使用ConfigurationManager.AppSettings,因为它更清楚代码访问的内容。

相关问题