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

时间:2010-10-30 01:08:50

标签: asp.net html object web-config activex

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

我想将参数放在我的web.config中,应用设置为“键/值”对。

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

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

由于

5 个答案:

答案 0 :(得分:29)

除了使用<%=ConfigurationManager.AppSettings["MyAttribute"]%>之外,正如其他人所说,您还可以使用expression builders。语法略有不同。您使用<%=...%>代替<%$ AppSettings: MyAttribute %>,而不是:{/ p>

<object id="myObjectID attr="<%$ AppSettings: MyAttribute %>" ...>

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

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

<asp:Label runat="server" ... Text="<%$ AppSettings: MyAttribute %>" />

您可以执行:

<asp:Label runat="server" ... Text="<%=ConfigurationManager.AppSettings["MyAttribute"]%>" />

答案 1 :(得分:9)

以下代码:

<%$ AppSettings: MyAttribute %>

与常规HTML标记和JavaScript功能不兼容!这对asp标签很有用。

尽管

<%=ConfigurationManager.AppSettings("MyAttribute")%>

真正适用于一般的HTML标记。

所以

<%=ConfigurationManager.AppSettings("MyAttribute")%>

是我的推荐!

答案 2 :(得分:3)

您可以在ASPX页面中使用ConfigurationManager。然后,您可以添加OBJECT代码参数:

<强>的Web.Config

</configuration>
    <appSettings>
        <add key="Setting" value="Value"/>
    <appSettings>
</configuration>

<强> ASPX

<object>
    <param name="Setting" value="<%= System.Configuration.ConfigurationManager.AppSettings["Setting"] %>" />
</object>

答案 3 :(得分:0)

我建议您在运行时从服务器动态生成OBJECT标记。这样,您可以注入从web.config文件中读取的任何参数。

答案 4 :(得分:0)

您有几个选择。如果将runat="server"属性添加到对象标记,则可以使用其ID从代码隐藏中访问它,并以这种方式添加属性:

myObjectID.Attributes.Add("attrName", "value")

如果您不想这样做,可以使用内联文字:

<object id="myObjectID attr="<%= ConfigurationManager.AppSettings("MyAttribute") %>" ...>

无论哪种方式都应该完成工作。

相关问题