在asp.net中的样式表路径中斜杠(/)vs tilde斜杠(〜/)

时间:2011-06-21 10:53:12

标签: asp.net path stylesheet relative-path absolute-path

如何在asp.net中解析这两个路径。 为什么这两个给出不同的路径。我们什么时候需要这些。

<link href="/common/black_theme/css/style.css"  rel="stylesheet"> (this is working)
<link href="~/common/black_theme/css/style.css"  rel="stylesheet"> (this is not working)

据我所知〜代表应用程序的根目录 “Common”是IIS

中网站根目录下的文件夹(名为testsite.demo)

物理路径= D:\Physicalpath\WarpFirstSite\testsite.demo 公共文件夹位置 - D:\Physicalpath\WarpFirstSite\testsite.demo\common

3 个答案:

答案 0 :(得分:80)

  • / - 网站根
  • ~/ - 应用程序的根目录

不同之处在于,如果您的网站是:

http://example.com

您有一个应用myapp

http://example.com/mydir/myapp

/将返回网站的根目录(http://example.com),

~/将返回应用程序的根目录(http://example.com/mydir/)。

答案 1 :(得分:9)

第二个不起作用,因为除了服务器端的asp.net代码之外,它不是任何可识别的路径。由于您的链接标记是常规html而不是服务器控件,因此它永远不会被处理。

答案 2 :(得分:6)

如果您在链接标记中添加runat="server",那么它将完美运行....

像这样....

<link href="~/common/black_theme/css/style.css" rel="stylesheet" runat="server"> 

(这也有效)