2013-08-06 342 views
2

我想知道,如果有人可以給我解釋一下,在細節,這之間的區別:之間的〜/和的區別../

~/Images/delete.png 
../Images/delete.png 

什麼 - 我想 - 我知道(不知道所有):

  • ../並且〜/在服務器端是可以理解的。 (c#)
  • ../在客戶端理解,但〜/不是。 (html和javascript)
  • ../和〜/ mean父目錄
  • 當我在服務器端使用〜/時,它看起來像在客戶端轉換爲../。

我試圖找到一個解決方案,但 - 我認爲 - 谷歌在搜索欄中不考慮「〜/」和「../」。

PS:有人可能已經問過這個問題。我做了很多研究,但沒有找到明確的答案。如果您認爲有人這樣做,請將它介紹給我。

謝謝。

編輯:

謝謝您的回答。

因此,〜被轉換爲項目根目錄的路徑。

例如:本地主機:8080 /主/圖像/ delete.png

~/images/delete.png ---- > ../main/images/delete.png ---- > localhost:8080/main/images/delete.png 

../images/delete.png ---- > main/images/delete.png 

因此,對於第一個URL的客戶端代碼將是:../main/images/delete.png

回答

6

在ASP.NET中,~project root operator而不是父文件夾)。 ASP將其替換爲項目根目錄的路徑。它僅適用於服務器端,因爲~運算符對於ASP.NET而言是特殊的,但不適用於瀏覽器。

../表示父目錄,並在任何地方工作。

+0

謝謝你的回答!這幫助我理解這個概念! :) –

0

~在URL中沒有特別的含義。它只是一個角色。它可能對在服務器上解釋它的東西有特殊的含義。例如ASP.NET將其映射到項目根目錄(在輸出頁面時,而不是在從服務器讀取讀取URL時),並且Apache經常配置爲在文件系統上映射~foo/home/foo/public_html/

../意思是「向上一級/ s」,由客戶端解決。

1

~/在服務器上作爲應用程序根目錄進行分析。這是一種很好的參考資源的方式,因爲在安裝應用程序的任何地方,URL都是正確的。在開發服務器上,根目錄可能爲http://localhost:8080/myproject/,部署時可能爲http://mydomain.com/

../是一個相對URL,指向當前目錄的父項。

0

'/folder' =站點根相對路徑

'folder' =是針對當前頁面路徑

'../folder/...' 

解決相對路徑=相對路徑被解析爲當前頁面路徑

的父

'~'是asp.net特定的根操作符,它解析爲當前應用程序的根。 你會想在引用資源的asp.net服務器控件中使用這個運算符而不是'/'。 〜運算符僅在服務器控件和服務器代碼中被識別。您不能對客戶端元素使用〜運算符。

要閱讀:http://msdn.microsoft.com/en-us/library/ms178116%28v=vs.100%29.aspx