我想知道是否有人能够详细解释我之间的区别:
~/Images/delete.png
../Images/delete.png
什么 - 我认为 - 我知道(根本不确定):
我试图找到一个解决方案,但是 - 我认为 - 谷歌在搜索栏中不考虑'〜/'和'../'。
PS:有人可能已经问过这个问题了。我做了很多研究,但我没有找到明确的答案。如果您认为有人这样做,请转介我。谢谢。
编辑:
感谢您的回答。
因此,〜被转换为项目根目录的路径。
Ex:localhost:8080 / main / images / delete.png
~/images/delete.png ---- > ../main/images/delete.png ---- > localhost:8080/main/images/delete.png
../images/delete.png ---- > main/images/delete.png
因此,第一个网址的客户端代码为: ../main / images / delete.png
答案 0 :(得分:6)
在ASP.NET中,~
是project root operator(不是父文件夹)。 ASP将其替换为项目根目录的路径。它只适用于服务器端,因为~
运算符对ASP.NET是特殊的,但对浏览器不是。
../
表示父目录,可以在任何地方使用。
答案 1 :(得分:1)
~/
在服务器上作为app根目录进行解析。这是引用资源的好方法,因为无论应用程序安装在何处,URL都是正确的。在开发服务器上,根目录可能是http://localhost:8080/myproject/
,部署时可能是http://mydomain.com/
。
../
是一个相对URL,指向当前目录的父级。
答案 2 :(得分:0)
~
在网址中没有特殊含义。这只是一个角色。它可能对在服务器上解释它的东西有特殊意义。例如ASP.NET将其映射到项目根目录(在输出页面时,而不是从服务器读取读取URL时),并且Apache通常配置为在文件系统上映射~foo
到/home/foo/public_html/
。
../
表示“上升/
s级别”并由客户解决。
答案 3 :(得分:0)
'/folder'
=站点 - 根相对路径
'folder'
=针对当前页面路径解析的相对路径
'../folder/...'
=被解析为当前页面路径的父级的相对路径
'~'
是asp.net特定的根运算符,它解析为当前应用程序的根。
您将要在引用资源的asp.net服务器控件中使用此运算符而不是“/”。 〜运算符仅在服务器控件和服务器代码中被识别。您不能将〜运算符用于客户端元素。
阅读:http://msdn.microsoft.com/en-us/library/ms178116%28v=vs.100%29.aspx