2010-05-26 42 views
1

尋找不同的網站的最佳做法是什麼,我看到衝突的約定。圍繞鏈接和網址在asp.net-mvc

,如果你想有圖片鏈接,其他頁面,js文件,我已經看到:

URL.Content("~/scripts/myscript.js"); 
<a href="/scripts/msscripts.js"> 
<img src="../../images/test.jpg" /> 
<img src="../images/test.jpg" /> 
<img src="/images/test.jpg" /> 
<img src="~/images/test.jpg" /> 

這些似乎都在asp.net mvc的工作,但它好像有都做得稍有不同的東西。

我正在轉移到一個新的Web服務器,他們正在從IIS重定向更改爲isapi重寫,我被告知確保我的鏈接以正確的方式完成或網站不工作。

有人可以澄清「正確」的方式是什麼?

回答

2

使用第一個選項。這樣,您可以將您的應用程序重定位到您的域的任何子目錄或最高級別。

如果您確定應用程序永遠不會從子目錄運行(即它始終位於服務器的根目錄),那麼第二個選項是好的。

第三和第四個是壞的,因爲它們涉及到你的URL結構,這是一個MVC環境意義:添加一個新的位路徑(例如多了一個參數)或重構的路徑,並沒有將工作。

0

最好的方法是使用Url.Content,並確保你有〜。

Url.Content將以正確的路徑(您的網站的根目錄)替換〜。

只在你的css文件中使用相對路徑。

如果你的CSS位於

/css/style.css

和背景圖像中/images/background.png

然後在你的style.css使用:

由於您的網站整體移動,這將繼續工作。

+0

如果我在一個css文件中有這個,該怎麼辦。我顯然不能使用URL.Content – leora 2010-05-26 11:35:37