我有一个MVC 3应用程序,在一些.cshtml中,我正在返回图像。问题是,当我使用IIS运行它时,服务器正在寻找图像的错误位置。 (问题只发生在“真正的”IIS,而不是IIS Express,而不是Cassini)
结果:如果我使用IIS,我会获得图像占位符而不是我的图像。如果我使用IIS Express或Cassini,我没有问题。
我使用Process Monitor来确定服务器在哪里寻找图像,它似乎忽略了虚拟目录设置(因此它正在寻找wwwRoot下的图像,而不是在我的应用程序的虚拟目录中)
cshtml文件中的代码示例:
<ul>@foreach (var entity in this.Model)
{<li>
@Html.ActionLink(ShortDescription, "Index", "Search", new { entityName = entity.Value.UrlName }, null)
<img src="../../Content/themes/blue/EntityBullet.png" />
</li>}</ul>
我敢打赌,我要么错过了路由规则,要么我对img标签做错了。有线索吗?
答案 0 :(得分:5)
使用此方法(假设Content
文件夹直接位于您的网站根目录下):
<img src="@Url.Content("~/Content/themes/blue/EntityBullet.png")" />
答案 1 :(得分:4)
在图片标记中的src属性中使用它:
<img src="@Url.Content("~/content/themes/blue/image.png")" alt="" />