使用动态图像源时图像不可见 - MVC5

时间:2016-11-08 08:38:08

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

我正在尝试使用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>

我知道我在这里错过了很小的东西,但我无法弄清楚是什么。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

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

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

    }