2016-11-08 14 views
1

MVC5を使用して画像スライドショーを作成しようとしています。ここに私のモデルクラスです。このモデルのために動的画像ソースを使用中に画像が表示されない - 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> 

私はここでは非常に小さなものが足りないと知っていますが、何が分かりませんか。誰でも助けてくれますか?

+0

作成したアイテムが表示されたら、正しいソース、つまりhtmlで直接作成したときとまったく同じソースを持っていますか? – AsheraH

+1

try src = "@ Url.Content(item.Source)" –

+0

@AsheraH、はい。私は静的なHTMLコードの上にページソース –

答えて

0

このように@Url.Contentを使用する必要があります。表示を変更してください。

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

    } 
+1

これはなぜそれが動作する理由を説明しますhttp://stackoverflow.com/a/9516312/1223471 –

関連する問題