何时以及如何使用相对路径/绝对路径/根路径/和〜/路径?

时间:2014-09-30 07:03:50

标签: asp.net path

我在将js,css和图像链接到应用程序时非常困惑这四个类别,因为我正在为我的应用程序创建文件夹结构。

我听说~/Images/up.png表示无论您身在何处,它都会找到根目录并搜索Image文件夹并提供图像。当我尝试这个..时,它不起作用。我使用../Images/up.png并且它有效..我使用了/Images/Images.png它也有效,所以请解释一下原因。

2 个答案:

答案 0 :(得分:0)

在访问您自己的直接域外的事物时,您主要使用绝对路径 因此,如果您的网站托管在www.mysite.com上,并且您的图片位于images.mysite.com上 - 您将使用绝对路径。

同样,您在内部使用相对路径。相对路径是../images/up.png。 您也可以在内部使用绝对路径,但通常您不希望这样做,因为它可以简化使用,而不必考虑资源所在的域,而只考虑相对于您的内容的位置。

至于~/那么它是一个.NET的东西确实意味着回到网站的根目录。 但是,它需要特别使用,因此您不能只是建立正常链接并使用~/
它需要在服务器端解析,例如可以使用ResolveUrl - 例如ResolveUrl("~/images/up.png")并使用返回的链接。特定控件将自动为您解析URL,但它仍然通过.NET解决 所以它主要用于因为您不必担心您的工作页面位于根目录的级别(因此您不必担心它当前是../images/up.png还是../../images/up.png

答案 1 :(得分:0)

〜是根

所以'〜/ js / fancyscript.js'意思是回到root进入js并找到fancyscript.js

' /js/fancyscript.js'意味着进入js并找到fancyscript.js这并不总是有效,因为并不总是有一个/ js文件夹

例如这是我的项目

site
    /css
        style.css
    /js
        fancyscript.js
    /include
        view.html
    index.html

我的索引在我的根文件夹中,我可以使用相对路径来包含我的花哨脚本 ' /js/fancyscript.js'

它会找到/ js,它会找到我的脚本

但是当我在/include/view.html工作时,我必须首先返回1个文件夹,这样相对路径就是那种情况' ../ js / fancyscript.js' (将一个文件夹放入/ js并找到fancyscript.js)

因为js文件夹在我的例子的根目录中,所以我也可以使用'〜/ js / fancyscript.js'

绝对路径和相对路径之间的区别在于绝对路径是完整路径,而相对来自执行代码的点

因此上面显示的例子是相对路径,而absulote路径的axample是

http://www.google.com

相关问题