2011-11-12 7 views
0

MVC 3で写真ギャラリーを作成する必要がある小さなホームプロジェクトを開始しました。MVC 3表示:文字列とモデルデータの両方を含む<image>のsrcを作成する方法

私は2枚の写真を置いた場所の画像フォルダと、各画像のパスと説明を含むxmlファイルを作成しています。

XMLはファイルシステムからXDocumentにロードされ、ビューに配信されます。

ビューは、各イメージ(2つのプロパティ、パス、および説明付き)をforeachし、このパスをHTML srcプロパティとhrefプロパティに挿入することになっています。

img1.pngなどのパスが正しく配信されていることがわかります。しかし、私は、画像を表示するためにパスを取得することに問題があります。私は、hrefとsrcは正しくプロパティ文字列を解釈できないと思います。

または、私は相対パスまたはUrl.Contentエンコードが必要なのでしょうか?ここで

ビューが

@foreach(var item in Model){ 
<div> 
    <a href="content/images/@item.path"> 
    <img src="content/images/@item.path"/> 
    </a> 
    <span> 
    @item.description 
    </span 
</div> 

である私は、私はより多くの情報を求めることを躊躇しないで、正しく、他にそれを説明してきました願っています。

私の計画では、これらの写真を含むページを用意し、jQuery Ligthboxを使用して画像を拡大して写真を簡単に見ることができます。

答えて

2

相対パスはここでは機能しません。ルーティングされたパスのためです。たとえば、現在のURLがmydomain.com/Gallery/Allで、画像パスがcontent/images/@item.pathの場合はmydomain.com/Gallery/All/content/images/@item.pathが返されますが、その画像はその場所にはありません。

@foreach(var item in Model){ 
<div> 
    <a href="@Url.Content("~/content/images/" + item.path)"> 
    <img src="@Url.Content("~/content/images/" + item.path)" /> 
    </a> 
    <span> 
    @item.description 
    </span 
</div> 
+0

私のためにそれを解決した。このため

はあなたに簡単な方法は、このようなUrl.Contentを使用することです。ご助力ありがとうございます。 – Memphis

関連する問題