Linq平均值,参数函数

时间:2012-06-04 21:50:25

标签: c# asp.net asp.net-mvc-3 linq razor

@foreach (var item in Model) {  
    @Html.ActionLink(item.RATES.Average(item => item.rate)), "ShowRates", "Track", new { track_nr = @item.TRACK_NR, album_id=@item.ALBUM_ID}, null)
 <br>
}

我试图显示RATES的平均值,RATES是我的数据库中的一个表,其中包含整数率的整数。 Visual Studio告诉我,我必须提供一个函数作为参数。但我不知道如何创建该功能?

1 个答案:

答案 0 :(得分:1)

将这些函数添加到View会使它看起来很难看,我宁愿将其添加为我的模型的aproperty,并在将此数据发送到视图之前在我的控制器中进行此计算。

public class AlbumViewModel
{
  public int ALBUM_ID { set;get;}
  public string TRACK_NR { set;get;}
  public decimal AVERAGE_RATE{ set;get;}

}

您的行动方法

public ActionResult GetAlbums()
{
   var albums=rep.GetAlbmums();
   foreach(var album in albums)
   {
       album.AVERAGE_RATE=album.Rates.Average();
   }
   return View(albums);    
}

在我的清洁视图中,

@foreach (var item in Model)
{  
   @Html.ActionLink(item.AVERAGE_RATE, "ShowRates", "Track", new { track_nr = @item.TRACK_NR, album_id=@item.ALBUM_ID}, null)    
}