我正在使用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
,但会在整个网站上将其分解。
答案 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重写来访问页面)。