0

我有这个在主页上呈现的部分视图。我希望能够在视图中的十个结果列表上方显示十个结果中的第一个的图片。我在控制器中有以下

    public ActionResult _ChartHome()
    {
        var ChAd = db.Charts
        .Where(v => v.ChOk == true)
        .OrderBy(v => v.ChPosition)
           .Take(10);
        return PartialView(ChAd);
    }

查看有

 <div class="thumb imgblock">   
 <div class="imlk">
 <img src="/images/@d.img?width=286&height=140" class="imlink" />
 </div> 

 @foreach (var d in Model)

 <div class="clear top5widg">
 <p class="musictitle">@d.ChTitle</p>
 <span class="chartno">#@d.ChPosition</span>
 <span class="artistname">By<br/>@d.ChArtist</span> 
 </div>       
  }
 </div>

任何帮助将不胜感激

4

2 回答 2

0

您可以使用 ViewBag 来保存第一项的值

public ActionResult _ChartHome()
    {
        var ChAd = db.Charts
        .Where(v => v.ChOk == true)
        .OrderBy(v => v.ChPosition)
           .Take(10);
        ViewBag.First = ChAd.FirstOrDefault();
        return PartialView(ChAd);
    }

对视图代码执行以下操作

 @{
   var first = (FirstObjectType)ViewBag.First;
}

 <div class="thumb imgblock">   
 <div class="imlk">
 <img src="/images/@first.img?width=286&height=140" class="imlink" />
 </div> 

 @foreach (var d in Model)

 <div class="clear top5widg">
 <p class="musictitle">@d.ChTitle</p>
 <span class="chartno">#@d.ChPosition</span>
 <span class="artistname">By<br/>@d.ChArtist</span> 
 </div>       
  }
 </div>
于 2013-02-26T22:11:15.060 回答
0

确保你在视图中定义了你的模型,那么你应该能够做到这一点:

@{
  var imgPath = Model.FirstOrDefault() == null ? "" : Model.FirstOrDefault().img; 
}
@if(imgPath != ""){
   <img src="/images/@imgPath ?width=286&height=140" class="imlink" />
}
于 2013-02-26T22:20:28.953 回答