图像路径和绝对路径?

时间:2010-10-11 04:54:33

标签: image asp.net-mvc-2 path

我正在使用C#在ASP .NET MVC 2中开发一个网站。

我有一个部分视图,Header.ascx。在那里,我有一个我的网站MainImage.png的图片。

当我使用我创建的主要视图之一时,图像显示正常。例如,我点击了我的新闻控制器的Index ActionResult。 (site.com/News

但是,当我深入挖掘时,即使从主页面显示部分视图,我似乎也会失去我的图像。即,如果我尝试去site.com/News/Article/1

是否有任何保持我的图像完整无缺的建议,例如绝对路径?

我目前在部分视图中的代码是:

<div align="center"><a href="/"><img src="../Content/images/MainImage.png" style="border:none" /></a></div>

我已尝试将src更改为~/Content/images/MainImage.png,但会在整个网站上将其分解。

2 个答案:

答案 0 :(得分:4)

使用 Url.Content 辅助方法。

<img src="<%: Url.Content("~/content/images/imagename.png") %>" />

同样适用于您想要包含javascript文件或css

的情况
<link rel="stylesheet" href="<%= Url.Content("~/content/site.css") %>" type="text/css" />
<script type="text/javascript" src="<%= Url.Content("~/content/scripts.js") %>"></script>

答案 1 :(得分:2)

尽可能将路径(href或src)设置为相对于Web服务器根目录的资源文件,如图像,CSS和JS。也就是说,您的网址应以斜杠开头:

<img src="/images/imagename.png" />

该格式保留当前服务器地址(可能是IP地址,内部网络地址或任何一个公共Web地址),协议和端口,并且不依赖于页面的明显路径用户正在查看(可以更改,具体取决于用户是通过其规范位置还是通过URL重写来访问页面)。