我有一个使用第三方ActiveX控件的ASP.NET站点。我需要在HTML页面的OBJECT标记中传递一些参数。如果我将这些参数硬编码到HTML中,一切都能正常工作。
我想将这些参数放在我的web.config中,使用应用程序设置的“键/值”对。
我的问题是,我无法在HTML标记中读取应用程序键设置,并成功地将它们作为参数传递。我可以从服务器端代码后台很好地读取它们。
如何在客户端HTML标记中正确读取这些设置?
谢谢
我有一个使用第三方ActiveX控件的ASP.NET站点。我需要在HTML页面的OBJECT标记中传递一些参数。如果我将这些参数硬编码到HTML中,一切都能正常工作。
我想将这些参数放在我的web.config中,使用应用程序设置的“键/值”对。
我的问题是,我无法在HTML标记中读取应用程序键设置,并成功地将它们作为参数传递。我可以从服务器端代码后台很好地读取它们。
如何在客户端HTML标记中正确读取这些设置?
谢谢
除了其他人提到的使用<%=ConfigurationManager.AppSettings["MyAttribute"]%>
外,您还可以使用表达式构建器。语法有点不同。您可以使用<%$ AppSettings: MyAttribute %>
,如下所示:
<object id="myObjectID attr="<%$ AppSettings: MyAttribute %>" ...>
如果你只是将appSettings的值直接转储到静态HTML中(我假设在这个例子中是这样),那么这两种方法在实际用途上是相同的。<%=...%>
语法 无法 实现的。也就是说,使用表达式生成器,你可以像这样做:<asp:Label runat="server" ... Text="<%$ AppSettings: MyAttribute %>" />
你可以不做以下操作:
<asp:Label runat="server" ... Text="<%=ConfigurationManager.AppSettings["MyAttribute"]%>" />
以下代码:
<%$ AppSettings: MyAttribute %>
不兼容通用的HTML标记和JavaScript函数!适用于asp标记。
然而
<%=ConfigurationManager.AppSettings("MyAttribute")%>
通常情况下,HTML标记真正起作用。
所以
<%=ConfigurationManager.AppSettings("MyAttribute")%>
是我的推荐!
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>
runat="server"
属性,你可以使用它的ID从你的代码后台访问它,并通过这种方式添加属性:myObjectID.Attributes.Add("attrName", "value")
如果你不想那样做,你可以使用内联文字:
<object id="myObjectID attr="<%= ConfigurationManager.AppSettings("MyAttribute") %>" ...>
<%=ConfigurationManager.AppSettings("MyAttribute")%>
会出现错误,提示无法将AppSettings用作方法。因此,请使用以下方式:<%=ConfigurationManager.AppSettings["MyAttribute"]%>
。 - Jawand Singh