在文件路径中使用〜/解析到当前文件夹或网站的根目录吗?
我有一个文件结构:
\
->Folder
-->Page1.Aspx
->App_Themes
-->Theme1
--->Images
--->StyleSheet.css
->Includes
-->Footer.htm
Default.aspx
Default.master
我正在使用Page1.aspx和default.aspx的default.master页面。母版页使用<!-- #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。
答案 0 :(得分:5)
它解析为当前Web应用程序的根目录,可能是也可能不是整个网站的根目录。
要了解其中的差异,请参阅this article。
作为一般规则,当您在Visual Studio中创建“网站”或“Web应用程序”时,您实际上是在IIS中创建“Web应用程序”。
为了进一步混淆水域,从概念上讲,网站的根本就是一个IIS“应用程序”,因此您可以将Visual Studio网站/ Web应用程序发布到您网站的根目录。在这种情况下,〜/将引用站点的根目录。
但是,如果您有多个应用程序都在一个站点中运行,那么在每个站点中〜/将引用该应用程序的根目录。
例如,假设MySite.com有不同的应用程序
在上述所有内容中,mysite.com都是该网站。但是/ *表示应用程序。 〜/将引用
和