【问题标题】:Image Not Displaying On Page图像未显示在页面上
【发布时间】:2017-08-18 11:18:07
【问题描述】:

我正在开发 MVC 5 ASP.net。当我使用剃刀语法图像时,网页上没有显示,否则相同的硬编码值正在工作。

这里是代码。

    @{
       var path = "";
    }
    @foreach (Movy a in Model)
    {
            if (a.Image == null)
            {
                path = "~/Content/images/c3.jpg";
            }
            else
            {
                path = a.Image;
            }
        <img src="@path" />
    }

但是当我在图像源中将@path 替换为“~/Content/images/c3.jpg”时它可以工作。

【问题讨论】:

  • 当你使用@path时,标记中的输出是什么?
  • 我已经从浏览器检查了页面源...它显示的值相同,即“~/Content/images/c3.jpg”

标签: asp.net asp.net-mvc razor model-view-controller


【解决方案1】:

您需要在运行时解析字符串。使用Url.Content

&lt;img src="@Url.Content(path)" /&gt;

【讨论】:

  • 谢谢哥们。有效。我到处搜索,但没有得到这个。你能解释一下为什么它没有读取@path 吗?
  • @UsamaSaleem 当你硬编码像"~/Content/images/c3.jpg" 这样的路径时它可以工作,因为运行时会解析它.. 但是当你使用@path 设置它时,运行时只会将值替换为普通的字符串但不解析它。
  • 我现在明白了。谢谢
【解决方案2】:

试试这个:

  <img src= "@Url.Content(path)" alt="Image" />

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 2014-04-14
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2012-12-13
    • 2021-03-30
    相关资源
    最近更新 更多