2011-10-03 22 views
3

我知道這可能是一個基本問題,但它讓我發瘋。我有一個我一直在研究的asp.net(4.0框架)應用程序。我在根目錄中有一個masterpage,在子目錄中有一個輔助masterpage。輔助主頁面繼承站點主控。〜/不是從應用程序根目錄開始

的問題是,即使我用〜/來形容他們不加載資源(/>」 < IMG SRC =‘〜/圖片/ myImage.jpg’這個參數)的位置。
使用上的控制檯螢火蟲,我得到這個錯誤:「網絡錯誤:404沒有找到 - http://localhost:4601/Account/~/Images/myImage.jpg

我需要做什麼才能正確地翻譯資源從母版頁到母板頁跨子文件夾?這是什麼,我誤解了'〜/' ?

+0

如果我記得正確〜只適用於服務器控件。您不能將其用於靜態html。 –

回答

12

使用

<img src="~/Images/myImage.jpg" /> 

是混合HTML代碼與.net ASP代碼。代字號(〜)不是HTML標記的內容,這就是爲什麼它不能產生你想要的。

要使其發揮作用,您需要使用< %%>標記更改源代碼,以便您添加可在處理時轉換爲HTML代碼的ASP代碼。

<img src="<%= Page.ResolveUrl("~/Images/myImage.jpg") %>" /> 

裏面ASP.NET代碼,則應使用ResolveURL,將改變的URL到的東西,在HTML就能明白。

如果你不想使用這個技巧,你也可以用ASP.NET圖片控件的HTML img標籤代替。這將自動執行ResolveUrl

<asp:Image runat="server" ID="imgHelp" ImageUrl="~/Images/myImage.jpg" /> 
0
<img src="<%= Page.ResolveUrl("~/Images/myImage.jpg") %>" /> 

<img src="<%= Control.ResolveUrl("~/Images/myImage.jpg") %>" /> 
相關問題