2012-09-12 41 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必須正確編碼。