在HTML链接中添加“~”到href。

4

我在我的asp.net mvc razor视图中有以下链接:

<a class="brand" href="~/Home/Index/"> <img alt="test" src="~/Content/logo.png" /> </a>

但我不确定src和href内的波浪线符号有什么作用?删除这个符号后,依然可以正确引用图片和URL。请问有人能提供建议吗?
谢谢。
4个回答

4

http://msdn.microsoft.com/en-us/library/ms178116(v=vs.100).aspx

~表示你的应用程序的根目录

以下SO帖子可能有助于了解更多。

在asp.net中样式表路径中的斜杠(/)与波浪线斜杠(~ /)

在您的情况下,从路径中删除~将使您的路径变为绝对路径。然后网址将变为http://example.com/absoulte/path。 如果您的项目根目录和Web根目录相同,则不会有任何区别。 您还可以访问这些链接。

绝对路径和相对路径

绝对路径和相对路径


移除'~'将使您的路径成为站点主机后的绝对路径。 - chanchal118
你的 MSDN 链接非常有用,但目前我假设 asp.net mvc Razor 视图中的任何代码都将被处理为服务器端控件,而无需显式编写。这就是为什么 ~ 被正确识别的原因,你认为呢? - John John
@johnG 是的,它被处理为服务器端控件。 - chanchal118

1
< p > ~ 符号代表在 Linux/Unix 系统上当前登录用户的主目录。


但我是在Windows服务器和IIS上工作,而不是在Unix服务器上,那么这对Windows服务器有任何意义吗? - John John
@johnG 我不确定 - 在我的Windows机器上它不能按预期工作,但这个答案可能对你有用 https://dev59.com/snA75IYBdhLWcg3w1sz2 - mathematician1975

1
"~"是指webroot的符号,如果您使用的是IIS,那么C:/inetpub/wwwroot/就是您的webroot。
它起源于UNIX中表示主目录的"~"符号。

0

~ 是你的“主目录”,在Unix上它是例如 /home/andy(它取自 $HOME 变量 - 你可以将其设置为任何其他文件夹)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接