如何在HTML标记中阅读web.config APP密钥设置

Kha*_*man 14 html asp.net activex web-config object

我有一个使用第三方activeX控件的ASP.NET站点.我必须将一些参数传递给HTML页面中的OBJECT标记.如果我将这些参数硬编码到HTML中,一切正常.

我想将参数放在我的web.config中,应用设置为"key/value"对.

我的问题是我无法读取HTML标记中的应用程序密钥设置,以便成功地将它们作为参数传递.我可以从后面的服务器端代码中读取它们.

在客户端HTML标记中读取这些设置的正确方法是什么?

谢谢

Sco*_*ell 29

除了使用之外<%=ConfigurationManager.AppSettings["MyAttribute"]%>,正如其他人所说,您还可以使用表达式构建器.语法略有不同.而不是<%=...%>你使用<%$ AppSettings: MyAttribute %>,像这样:

<object id="myObjectID attr="<%$ AppSettings: MyAttribute %>" ...>
Run Code Online (Sandbox Code Playgroud)

如果您只是将appSettings值直接转储到静态HTML中(我假设您在此示例中),这两种方法对于所有实际用途都是相同的.

但是,表达式构建器的好处在于,您可以使用它们以声明方式将appSettings值分配给Web控件属性,这是您无法使用<%=...%>语法执行的操作.也就是说,使用表达式构建器,您可以执行以下操作:

<asp:Label runat="server" ... Text="<%$ AppSettings: MyAttribute %>" />
Run Code Online (Sandbox Code Playgroud)

虽然你可以这样做:

<asp:Label runat="server" ... Text="<%=ConfigurationManager.AppSettings["MyAttribute"]%>" />
Run Code Online (Sandbox Code Playgroud)


小智 10

以下代码:

<%$ AppSettings: MyAttribute %>
Run Code Online (Sandbox Code Playgroud)

与一般的HTML标记和JavaScript功能不兼容!它对asp标签很有用.

<%=ConfigurationManager.AppSettings("MyAttribute")%>
Run Code Online (Sandbox Code Playgroud)

真的工作在一般的HTML标记.

所以

<%=ConfigurationManager.AppSettings("MyAttribute")%>
Run Code Online (Sandbox Code Playgroud)

是我的推荐!