2013-02-26 75 views
0

我有这个在主页上呈现的局部视图。我希望能够在视图中的十个结果列表上方显示十个结果中第一个的图片。 下面我有在控制器显示图像第一个结果MVC3剃刀视图的值

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> 

任何帮助将是非常赞赏

回答

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> 
+0

感谢的作品和为是第一 – Diin 2013-02-26 22:46:03

0

确保您在视图中定义的模型,那么你应该能够只是这样做:

@{ 
    var imgPath = Model.FirstOrDefault() == null ? "" : Model.FirstOrDefault().img; 
} 
@if(imgPath != ""){ 
    <img src="/images/@imgPath ?width=286&height=140" class="imlink" /> 
} 
+0

感谢的作品 – Diin 2013-02-26 22:46:40