MVC 3寻找错误的图像位置

时间:2011-08-01 20:00:24

标签: c# asp.net asp.net-mvc-3

我有一个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标签做错了。有线索吗?

2 个答案:

答案 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="" />