2010-06-16 63 views
0

我有一個ASP.NET作爲子網站運行的ASP.NET MVC Web應用程序;假設它的路徑類似於http://mysite.com/subweb我可以使用HTML基本標籤來解析虛擬目錄嗎?

我有一個視圖,它提供從CMS獲取的內容。 CMS編輯器輸入了一些內容,其中包含相對圖像路徑< img src =「/ images/imga.png」/ >。

這正常生產服務器所在部位是根網站上,而不是在站點根網站的虛擬目錄下的臨時服務器上

的路徑應該是< IMG SRC =「/ images/imga.png「/ >在生產服務器上

和< img src =」/ subweb/images/imga.png「/ >在臨時服務器上。

是否可以使用<基地>標記來解決此圖像路徑?

 

<head> 
<base href="http://mysite.com/subweb/" /> 
</head> 

<html> 
    <body> 
    <img src="/images/imga.png" /> 
    </body> 
</html> 

 

它似乎沒有工作。任何人都可以解釋爲什麼或如果這是一個可行的方法?我不想要求內容編輯人員瞭解網站部署選項(在UAT和生產之間會有所不同)。

+0

標記指定頁面中超鏈接的默認地址。我想它在圖像src上沒有做任何事情。 – Billy 2010-06-16 15:57:05

回答

2

嘗試

<img src="images/imga.png" /> 

,使其相對URL。當然這並不容易,內容編輯器必須改變。但我確實認爲這是問題所在。從/開始的網址是從...(奇蹟)解析的域的頂級目錄?

1

基本標記僅影響相對URL。嘗試更改您的圖像標記爲此:

<img runat="server" src="~/images/imga.png" /> 

即使在您的應用程序的子目錄中,這將工作。 .Net會將「〜/」解析爲您的應用程序根目錄。

+0

這不是一個可行的解決方案,因爲我不能依靠內容編輯器來總是添加runat =「server」屬性或〜字符。 – Keith 2010-06-16 17:41:58

+1

@Keith爲了避免runat =「server」屬性,你可以使用<%Page.ResolveClientUrl(「〜/ images/imga.png」)%>。 – 2010-06-16 17:50:08

相關問題