如何直接在.aspx页面中访问web.config的设置?

46

我创建了一个网页,其中包含Web.Config中的一些设置值,例如图像。因此,我希望在Web.Config文件中给出图像的路径和特定图像src中的文件名。

我只想在aspx页面中读取这些设置,而不是在codebehind中读取。

例如:

以下是我的代码:

Web.Config:
<add key="ImagePath" value="http://192.168.0.181/Labeling/Images/"/>

在我的aspx页面中,

<img id="ImgHeader" runat="server" src="<%ConfigurationManager.AppSettings["ImagePath"]%>" />

1
以下答案是正确的,但您也应考虑创建用户控件(仅带有图像标记/内联代码),以避免所有受影响的ASPX / ASCX中的魔术字符串。 - RPM1984
2
<%$ AppSettings:ImagePath %> https://dev59.com/dUnSa4cB1Zd3GeqPQ8Ys - Muhammad Waqas Iqbal
4个回答

45
<img id="ImgHeader" runat="server" src="<%$ ConfigurationSettings.AppSettings["ImagePath"] %>" />

应该能解决问题。


3
错误提示:服务器标签不能包含 <% ... %> 结构。 - Matthew Lock
12
除非你使用的是 .Net 2 或更低版本,否则应该使用 ConfigurationManager 而不是 ConfigurationSettings(现已过时)。 - Dave
2
如果您仍然遇到服务器标记错误,请使用单引号。src='<%= ConfigurationManager.AppSettings["ImagePath"] %>' /> - JDNickell

16

7
<%= ConfigurationSettings.AppSettings["ImagePath"] %>

5
解析器错误消息: 服务器标签不能包含<% ... %>结构。源代码错误:第234行: <asp:Button ID =“btnSubmit” Text =“提交”runat =“server”/></td> 第235行: <td> 第236行: <asp:Button ID =“btnDisplay” Text =“显示页面”runat =“server”OnClientClick =“window.open('<%= ConfigurationManager.AppSettings["HtmlOutputPath"] %>')”/></td> 第237行: </ tr> 第238行: </ table> - Sandy
注意:如果您的页面设置为VisualBasic而不是C#,则可能会出现此错误。在这种情况下,请将方括号更改为圆括号。例如:'<%= ConfigurationManager.AppSettings("HtmlOutputPath") %>'。 - Mark A. Durham

2

以下方法适用于我:

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

3
ConfigurationManager和括号是对我起作用的内容... <%= ConfigurationManager.AppSettings["ImagePath"] %> - smoore4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接