Aspnet MVC中的相对路径和绝对路径有什么区别?

Swa*_*ain 2 asp.net asp.net-mvc asp.net-mvc-4

这种相对和绝对的路径总是让我困惑.我想知道在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"/> 
Run Code Online (Sandbox Code Playgroud)

请解释两者之间的区别

Aja*_*jay 7

绝对路径:

绝对URL路径.如果要引用其他位置(例如外部Web站点)中的资源,则绝对URL路径非常有用.

<img src="http://www.contoso.com/MyApplication/Images/SampleImage.jpg" />
Run Code Online (Sandbox Code Playgroud)

相对路径:

站点根相对路径,针对站点根解析.如果将整个站点中使用的资源(例如图像或客户端脚本文件)保留在位于Web站点根目录下的文件夹中,则站点根相对路径非常有用.

以下示例路径假定Images文件夹位于Web站点根目录下.

<img src="/Images/SampleImage.jpg" />
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请访问:http: //msdn.microsoft.com/en-us/library/ms178116.aspx

来到你的问题:

<img src="@Url.Content("~/Content/themes/base/images/logo.png")" alt="Koiak Basic Site" />
Run Code Online (Sandbox Code Playgroud)

这里因为使用"〜".它将"服务器"路径(即;你的应用程序路径)"添加到你的网址.这意味着它需要img src"yourapplicationPath/Content/themes/base/images/logo.png"

<img src="/Content/themes/base/images/logo.png" alt="Koiak Basic Site"/>
Run Code Online (Sandbox Code Playgroud)

这里需要它.即,"/内容/主题/碱/图像/ logo.png"

欲了解更多,请参阅:

为什么要使用@ Url.Content

http://digitalzoomstudio.net/2012/04/01/what-is-the-difference-between-absolute-and-relative-paths-urls/

/和〜/相对路径有什么区别?