Asp.net 图像控件SRC中的Concat Web.config值和字符串
我有一个web.config密钥:Asp.net 图像控件SRC中的Concat Web.config值和字符串,asp.net,html,Asp.net,Html,我有一个web.config密钥: <add key="IMGSRC" value="http://localhost" /> 我想在aspx页面中使用该键的值以及连接到的图像的路径。我知道我可以通过简单地说“./ImagesFolder”来访问根文件夹,但出于安全考虑,我的网站禁用了父路径。所以现在我需要解决这个问题 我需要这样的东西(以下是我在上网后尝试过的一些东西,但都不起作用): 1) ”/> 2) ”/> (三) “+”/ImagesFolder/img.jpeg“/
<add key="IMGSRC" value="http://localhost" />
我想在aspx页面中使用该键的值以及连接到的图像的路径。我知道我可以通过简单地说“./ImagesFolder”来访问根文件夹,但出于安全考虑,我的网站禁用了父路径。所以现在我需要解决这个问题
我需要这样的东西(以下是我在上网后尝试过的一些东西,但都不起作用):
1) ”/>
2) ”/>
(三)
“+”/ImagesFolder/img.jpeg“/>
我也试过这个:
我在加载页面上声明了一个变量
Path=System.Configuration.ConfigurationManager.AppSettings[“RootforIMG”].ToString()
然后在aspx页面上,我尝试将其用作
“+”/ImagesFolder/img.jpeg”/>
但这样也不行。你能试试下面的方法吗
<img id="Img19" runat="server" alt="Admin" src='<%= GetImageSource()%>' />
图像的相对路径应起作用: 相对路径可以根据页面位置而定,即:“../IMages/img.jpg”或“IMages/img.jpg” 试试这个:
<img id="Img19" runat="server" alt="Admin" src='ImagesFolder/img.jpeg' />
对于具有
runat=“server”
属性的控件,您不需要任何特殊代码来映射相对于网站根目录的路径:
<img id="Img19" runat="server" alt="Admin" src"~/ImagesFolder/img.jpeg" />
不要忘记URL必须正确编码。请看这里。@Adriano在我的例子中,我在一个页面上有很多小图像。我无法通过将每个图像映射到server.mappath()来在codebehind中生成这么多变量。您不需要创建变量。只需在页面中使用Server.MapPath(),而不是从配置中读取路径。要查找应用程序路径,请使用此。。公共字符串CurrentAppPath(){return(System.Web.HttpRuntime.AppDomainAppVirtualPath==“/”)字符串。空:System.Web.HttpRuntime.AppDomainAppVirtualPath;}我将把
“/ImagesFolder/img.jpeg”
传递到GetImageSource()
函数中,否则你会做太多的工作。如果我在一个页面上有很多图像怎么办?我将不得不在代码中隐藏那么多变量。最好你像src=''一样调用这两个方法,使用,它会给我一个格式不“良好”的错误,而使用src='',它不会返回字符串。我的意思是,当我查看源代码时,我会看到src=”“。另外,我在方法上有一个未被调用的断点。
<img id="Img19" runat="server" alt="Admin" src"~/ImagesFolder/img.jpeg" />
<img src'<%= ResolveImageName() %>' />