无法从Home / Contact访问MVC图像文件夹,但可以从_Layouts.cshtml中的Home / Index中看到

时间:2013-06-13 16:05:08

标签: image asp.net-mvc-4 routing

我创建了一个MVC4项目并设置了我的_Layout.cshtml,其中包含该站点的相关链接和图像,但图片未显示在联系我们页面中。我的图像代码如下:

<a href="meta-index.html"><img src="images/logo.png" alt="MetaAwareness" title="MetaAwareness" /></a>

1 个答案:

答案 0 :(得分:1)

它与images文件夹的相对路径有关。您可能在Index路由中将Home操作和Default控制器作为默认参数值。因此,将调用此操作的url可能没有包含控制器和操作。假设images文件夹位于网站根目录中,相对路径images将我们带到正确的位置。如果是Home/Contact url,则相同的相对路径将意味着Home/Contact/images文件夹不存在。

使用:

<img src="<%= Url.Content("~/[path to images dir from website root dir (usually - content)]/images/logo.png") %>" ...

意识到你使用Razor:

<img src="@Url.Content("~/content/images/logo.png")" ...