2012-07-04 60 views
2

確實使用〜/在文件路徑中解析爲當前文件夾或網站的根目錄?「〜/」在ASP中解析爲什麼:當前文件夾或網站的根目錄?

我有一個文件結構,例如:

\ 
->Folder 
-->Page1.Aspx 

->App_Themes 
-->Theme1 
--->Images 
--->StyleSheet.css 

->Includes 
-->Footer.htm 

Default.aspx 
Default.master 

我用我的default.master頁面Page1.aspx的和Default.aspx的。母版頁使用<!-- #include file="includes/Footer.htm" -->。然後在我的Footer.html中使用圖像路徑,例如:〜/ App_Themes/Theme1/Images/Image1.png「。

圖像將在default.aspx中正確顯示,但不會在Page1.aspx中找到。在文件路徑中使用時,我想到的網站的〜/意思根

編輯:

我錯了,它也不會在defaut.aspx工作這是工作的路徑是:/ App_Themes文件/ Theme1/Images/Image1.png。

+2

我會推薦結束使用服務器端包括。這是舊的ASP垃圾,不應該在ASP.NET中使用。 –

+0

應該用什麼來代替?自定義ascx控件? – Mausimo

+2

ASCX控件,主頁...任何東西都比使用包含更好。 Master Pages是所有頁面共享內容的標準.NET方式。 http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx ASXC控件是將位包含在頁面內容中的方式。 – David

回答

6

它解決了當前web應用程序的根目錄,它可能是也可能不是整個網站的根目錄。

要了解其差異,請參閱this article

作爲一般規則,當您在Visual Studio中創建「網站」或「Web應用程序」時,實際上是在IIS中創建「Web應用程序」。

爲了進一步渾濁水域,從概念上講,網站的根本是一個IIS「應用程序」,因此您可以將Visual Studio網站/ Web應用程序發佈到您的網站的根目錄。在這種情況下,〜/將引用該網站的根。

但是,如果您有多個應用程序都在一個站點中運行,那麼在每個應用程序中〜/將引用該應用程序的根目錄。

例如,假設MySite.com有不同的應用

  • mySite.Com - 在Visual Studio鮮明的應用程序,具有一般網站的內容。
  • mySite.Com/shop有一個購物車。這是Visual Studio中獨特的應用程序,以及獨特的IIS應用程序。
  • MySite.Com/Support包含一個單獨的,獨特的客戶支持應用程序。門票提交,與現場操作員聊天等。

在以上所有中,mysite.com是該網站。但/ *表示應用程序。在〜/將指

  • mySite.Com/
  • mySite.Com/shop/

  • MySite.Com/Support/

分別爲

+0

感謝您的鏈接和答案。它幫助了很多! – Mausimo

相關問題