样式表路径中的斜杠 (/) 与波形符斜杠 (~/)

发布于 2024-11-16 16:33:25 字数 570 浏览 2 评论 0原文

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
“common”文件夹:D:\Physicalpath\WarpFirstSite\testsite.demo\common

ASP.NET offers two ways to specify paths for style sheets:

<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)
  • How are these paths resolved?
  • Why are the generated paths different?
  • Which one should I pick in which case?

As per my knowledge, ~ represents the root directory of the application.
"common" is the folder below the website root (named testsite.demo) in IIS.

Physical path: D:\Physicalpath\WarpFirstSite\testsite.demo
"common" folder: D:\Physicalpath\WarpFirstSite\testsite.demo\common

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

故事还在继续 2024-11-23 16:33:25
  • / - 站点根
  • ~/ - 应用程序的根目录

区别在于,如果您的站点是:

http://example.com

并且您有一个应用程序 myapp

http://example.com/mydir/myapp

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

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

  • / - Site root
  • ~/ - Root directory of the application

The difference is that if you site is:

http://example.com

And you have an application myapp on:

http://example.com/mydir/myapp

/ will return the root of the site (http://example.com),

~/ will return the root of the application (http://example.com/mydir/).

向地狱狂奔 2024-11-23 16:33:25

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

The second won't work because its not a recognised path by anything except asp.net code on the server side. And since your link tag is regular html and not a server control it never gets processed.

魔法少女 2024-11-23 16:33:25

如果您在链接标记中添加 runat="server" 那么它将完美地工作......

就像这样......

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

(这也有效)

If you add runat="server" in your link tag then it would works perfectly....

like this....

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

(this is also working)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文