这种相对和绝对的路径总是让我困惑。我想知道在Asp Net MVC中如何以及在何处使用它们。
对于Ex-如果我想使用img标签 -
img src="@Url.Content("~/Content/themes/base/images/logo.png")" alt="Koiak Basic Site" />
img src="/Content/themes/base/images/logo.png" alt="Koiak Basic Site"/>
请解释两者之间的区别
答案 0 :(得分:7)
绝对路径:
绝对网址路径。如果要引用其他位置(例如外部Web站点)中的资源,则绝对URL路径非常有用。
<img src="http://www.contoso.com/MyApplication/Images/SampleImage.jpg" />
相对路径:
站点根目录相对路径,针对站点根目录进行解析。如果将整个站点中使用的资源(例如图像或客户端脚本文件)保留在位于Web站点根目录下的文件夹中,则站点根相对路径非常有用。
以下示例路径假定Images文件夹位于网站根目录下。
<img src="/Images/SampleImage.jpg" />
更多参考: http://msdn.microsoft.com/en-us/library/ms178116.aspx
来到你的问题:
<img src="@Url.Content("~/Content/themes/base/images/logo.png")" alt="Koiak Basic Site" />
这里因为使用“〜”。它将“服务器”路径(即;您的应用程序路径)“添加到您的网址。这意味着它需要img src
作为”yourapplicationPath / Content / themes / base / images / logo.png“
<img src="/Content/themes/base/images/logo.png" alt="Koiak Basic Site"/>
这里需要它。即, “/内容/主题/碱/图像/ logo.png”
有关详情,请参阅:
答案 1 :(得分:1)
绝对路径
就目录而言
当我们从根目录引用某个位置时,如C:\ Documents \ MyFolder,它是绝对路径。
就网址
而言调用绝对路径,因为它们引用了非常具体的位置,包括域名。 Web元素的绝对路径通常也称为URL。例如,绝对路径是:
http://www.stackoverflow.com/posts/21670682
相对路径
就目录而言
当我们引用我们当前所在的位置时,它被称为相对路径。例如,假设您目前在C:\ Documents中的Documents文件夹中,要引用MyFolder,您有两种选择:绝对(C:\ Documents \ MyFolder)或亲戚(\ MyFolder)。
就目录而言
相对路径根据链接所在的页面而变化。使用相对路径创建链接有几个规则:
与当前页面在同一目录中的链接没有列出路径信息
filename
列出的子目录没有任何前面的斜杠
weekly/filename
链接一个目录列为
../filename