2012-09-12 42 views
0

我有一个web.config键:的毗连的Web.config值和字符串

<add key="IMGSRC" value="http://localhost" /> 

我想与图像的一个ASPX级联到一起的路径使用此键的值页。我知道我可以通过简单地说“../ImagesFolder”来到根文件夹,但是由于安全问题,我的网站禁用了父路径。所以现在我需要解决它。

我需要的是这样的(这里有几件事情我找了互联网后尝试并没有成功。):

1)<img id="Img19" runat="server" alt="Admin" src='<%#ConfigurationSettings.AppSettings["IMGSCR"] %>' />

2)<img id="Img19" runat="server" alt="Admin" src='<%#ConfigurationSettings.AppSettings["IMGSCR"] + "/ImagesFolder/img.jpeg" %> ' />

3) <img id="Img19" runat="server" alt="Admin" src="<%#ConfigurationSettings.AppSettings["IMGSCR"] %> " + "/ImagesFolder/img.jpeg" />

而且我尝试这样做: 我声明的变量路径Page_Load Path = System.Configuration.ConfigurationManager.AppSettings [“RootforIMG”]。ToString();

然后在aspx页面上我尝试使用它作为 <img id="Img19" runat="server" alt="Admin" src="<%=Path %> " + "/ImagesFolder/img.jpeg" />但这也是不好的。

+0

看看[在这篇文章](http://stackoverflow.com/questions/12373352/using-directory-getfiles-with-specifing-the-absolute-path/12373394#12373394)在这里SO。 –

+0

@Adriano在我的情况下,我在单个页面上有很多小图像。我无法通过将每个图像与server.mappath()进行映射来在代码隐藏中创建如此多的变量。 – Pavitar

+0

你不需要创建变量。只需在页面内使用Server.MapPath(),而不是从配置中读取路径。 –

回答

0

你可以尝试下面的东西吗?

<img id="Img19" runat="server" alt="Admin" src='<%= GetImageSource()%>' /> 

在后面

public string GetImageSource() 
{ 
return ConfigurationManager.AppSettings["IMGSCR"] + "/ImagesFolder/img.jpeg"; 
} 
+0

查找应用程序路径,使用此..公共字符串CurrentAppPath(){返回(System.Web.HttpRuntime.AppDomainAppVirtualPath ==“/”)?串。空:System.Web.HttpRuntime.AppDomainAppVirtualPath; } –

+0

我会将''/ImagesFolder/img.jpeg''传递给'GetImageSource()'函数,否则你的工作太多了。 –

+0

如果我在单个页面上有很多图像,我将不得不在代码背后制作很多变量。 – Pavitar

0

码图像的相对路径应该工作:

相对路径可以按您的网页位置,即: '../IMages/img.jpg'或 '图像/ img.jpg'

试试这个:

<img id="Img19" runat="server" alt="Admin" src='ImagesFolder/img.jpeg' /> 
0

对于runat="server"控件属性你不需要任何特殊代码,以相对于网站根目录的路径图:

<img id="Img19" runat="server" alt="Admin" src"~/ImagesFolder/img.jpeg" /> 

路径~/ImagesFolder/img.jpeg将与您的网站的根文件夹替换~解决。

如果解决你需要某种逻辑(例如,你需要调用一个函数),那么你可以使用此路径:

<img src'<%= ResolveImageName() %>' /> 

不要忘记URL必须正确编码。