2012-02-10 12 views
-4
@using System.Configuration 
@using UI.AuctionService 
@using UI.Common 
@using UI.Helpers 

@model UI.Models.AuctionFrontendListViewModel 

@{ 
    ViewBag.Title = "Auction List"; 
} 

<h2>@Model.Title</h2> 

<table> 
    <tr> 
     <th> 
      Image 
     </th> 
     <th> 
      Type 
     </th> 
     <th> 
      Auction title 
     </th> 
     <th> 
      Starts 
     </th> 
     <th> 
      Ends 
     </th> 
     <th> 
      Is featured 
     </th> 
     <th> 
      Bid count 
     </th> 
     <th> 
      Creation time 
     </th> 
     <th></th> 
    </tr> 

@foreach (var auction in Model.Auctions) 
{ 
    var type = string.Empty; 
    if (auction.Auction is LubAuction) 
    { 
     type = "Lowest unique wins"; 
    } 
    else if (auction.Auction is EsfAuction) 
    { 
     type = "Highest wins"; 
    } 

    string imagesFolderPath = HttpContextHelper.GetPathInServer(ConfigurationManager.AppSettings["ImagesFolderPath"]); 
    string itemImagesFolderPath = Path.Combine(imagesFolderPath, ImageType.Item + @"\\" + auction.Auction.InventoryReference); 
    string chosenImage = string.Empty; 
    if (Directory.Exists(itemImagesFolderPath)) 
    { 
     string[] files = Directory.GetFiles(itemImagesFolderPath); 
     if (files.Length > 0) 
     { 
      chosenImage = files[0]; 
     } 
    } 

    <tr> 
     <td> 
      <img src="@chosenImage" /> 
     </td> 
     <td> 
      @type 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => auction.Auction.Title) 
     </td> 
     <td> 
      @DateTimeHelper.LocalDateTime(auction.Auction.Starts) 
     </td> 
     <td> 
      @DateTimeHelper.LocalDateTime(auction.Auction.Ends) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => auction.Auction.IsFeatured) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => auction.Auction.BidCount) 
     </td> 
     <td> 
      @DateTimeHelper.LocalDateTime(auction.Auction.AddedDate) 
     </td> 
     <td> 
      @Html.ActionLink("Details", "Details", new { id = auction.Auction.Id }) 
     </td> 
    </tr> 
} 

</table> 
<div class="pager"> 
@Html.PageLinks(Model.PagingInfo, x => Url.Action(Model.Action, new { page = x })) 
</div> 
+2

あなたの質問を少し絞り込んでください - あなたの問題を与えている特定のどの部分? – eouw0o83hf

+0

取得しているエラーは何ですか? –

+0

まあ、問題は私が表示するimgタグの画像を得ることができないということです。 –

答えて

2

画像に問題がある場合は、これを別の方法で行うことをおすすめします。あなたのRazorビューはおそらく、画像を探すためにサーバーを掃除することを担当するべきではありません。その情報をモデルまたはViewDataを介してビューにプッシュすることを検討してください。

さらに、@"\\"をPath.Combineに渡していますか?あなたは二重スラッシュをパスに追加しています。代わりにPath.Combineがこれを処理します。私はそれがおそらくあなたの主な問題だと思う。次のいずれかを実行します。

string itemImagesFolderPath = Path.Combine(imagesFolderPath, ImageType.Item + @"\" + auction.Auction.InventoryReference); 

または、より好ましくは

string itemImagesFolderPath = Path.Combine(imagesFolderPath, ImageType.Item, auction.Auction.InventoryReference); 
関連する問題