【问题标题】:Image not visible while using dynamic image source - MVC5使用动态图像源时图像不可见 - MVC5
【发布时间】:2016-11-08 16:58:56
【问题描述】:

我正在尝试使用 MVC5 创建图像幻灯片。这是我的模型类:

public class ImageSlider
{
    public string Source { get; set; }
    public string ImageName { get; set; }
    public string Title { get; set; }
}

对于这个模型,我创建了一个控制器和一个动作:

public ActionResult _imageSlider()
{
    return View(new List<ImageSlider> {
       new ImageSlider { Source = "~/_Slider/Images/google.jpg" },
       new ImageSlider { Source = "~/_Slider/Images/googlePlus.jpg" },
       new ImageSlider { Source = "~/_Slider/Images/facebook.jpg" }
    });
}

这是我的部分观点:

<div class="cycle-slideshow" data-cycle-fx="scrollHorz" data-cycle-pause-on-hover="true">
    @foreach (var item in Model)
    {
        <img src="@item.Source" />
    }
</div>

现在的问题是,当我像上面那样创建图像标签时,我看不到任何图像,而我可以在我的页面源中看到这些元素已被创建。但是如果我在 HTML 中创建这些标签,所有图像都是可见的。示例:

<div class="cycle-slideshow" data-cycle-fx="scrollHorz" data-cycle-pause-on-hover="true">
    <img src="~/_Slider/Images/google.jpg" />
    <img src="~/_Slider/Images/googleplus.jpg" />
    <img src="~/_Slider/Images/facebook.jpg" />
</div>

我知道我在这里遗漏了非常小的东西,但我不知道是什么。谁能帮帮我?

【问题讨论】:

  • 当您看到创建的项目时,它们是否具有正确的来源,即与您直接在 html 中创建它们时完全相同?
  • 试试 src="@Url.Content(item.Source)"
  • @AsheraH,是的。事实上,我从页面源复制了上面的静态 html 代码
  • @mww,它是这样工作的。但是你能解释一下使用&lt;img src="@item.Source" /&gt;的基本区别是什么吗?

标签: c# html asp.net-mvc-5


【解决方案1】:

你需要像这样使用@Url.Content,改变你的视图。

 @foreach (var item in Model)
    {
        <img src="@Url.Content(item.Source)" />

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 2019-04-29
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多