【问题标题】:Images Aren't Rendering in Browser - MVC3 razor图像不在浏览器中渲染 - MVC3 razor
【发布时间】:2012-05-13 02:32:47
【问题描述】:

我正在尝试学习 MVC3 剃须刀,但每当我尝试显示存储在本地计算机上的图像时,我都会遇到障碍。图像显示为图像占位符(如下所示),而不是浏览器渲染图像。

placeholder image

我尝试将其简化为仅使用常规的 html img 标签,但没有成功。但是,当它指向网络上托管的图像时,一切正常。路径是正确的,因为它显示的是占位符而不是红色 x(它在找不到图像时显示)。

<img id="img" src="file:///C:/WebSite/Images/img1.jpg" alt="" />

我唯一能想到的就是某种未正确设置的权限或配置。我已经为指向图像的文件夹和图像本身设置了权限。我的 Web.config 是默认的,我对 global.aspx 所做的唯一更改是注册路由。

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Trending", id = UrlParameter.Optional } // Parameter defaults
    );
}

帮助?

【问题讨论】:

  • 你需要,如果没有图片,默认显示图片?我发现很难理解问题是什么
  • 在你的项目中包含图片文件夹
  • @simplydenis - 实际图像未出现在浏览器中。相反,一个默认的图像占位符出现在我发布的链接中。当我将路径更改为不正确时,会出现一个红色的 X,因此它似乎正在查找图像。它只是由于某种原因没有显示它。
  • @COLDTOLD - 我相信它包括在内。文件夹和图像在项目中,我在查看站点之前已经构建并发布了它。我还缺少另一个步骤吗?
  • 只需将图片从文件夹拖到文件中

标签: asp.net asp.net-mvc-3 image web


【解决方案1】:

您可以使用 Url.Content 帮助程序,假设您的 Images 文件夹位于应用程序的根目录,它会是这样的:

<img id="img" src="@Url.Content("~/Images/img1.jpg")" alt="" />

【讨论】:

  • 好吧,我回去尝试再次使用 Url.Content ......它工作了 =)。当我最初尝试它时,我将图片放在 App_Data 文件夹内的一个文件夹中。即使路径正确,这似乎也阻止了对图像的访问。谢谢。
  • @Dom 这究竟是如何工作的?我在本地驱动器 C 中的一个名为“UploaderHoldings”的文件夹中有我的图像:但我什至使用你的解决方案它没有显示 img。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-06
相关资源
最近更新 更多