2013-05-13 56 views
0

我的應用程序中有以下剃鬚刀代碼。我怎樣才能擁有它,所以它只能從模型中做出10個項目。所以,一旦做了下面的代碼位在我的模型10個項目停止只在foreach語句中顯示10個項目

@foreach (var item in this.Model.Leaderboard) { 
    <tr> 
     <td>@Html.DisplayFor(modelItem => item.userName)</td> 
     <td> @Html.DisplayFor(modelItem => item.score)</td> 
    </tr> 
} 

回答

6

您可以使用Linq的Take()方法。

@foreach (var item in this.Model.Leaderboard.Take(10)) 
{ 
    <tr> 
     <td>@Html.DisplayFor(modelItem => item.userName)</td> 
     <td> @Html.DisplayFor(modelItem => item.score)</td> 
    </tr> 
} 

由於Henk Holterman建議,如果你不需要全收,你應該限制你的集合,其中其創建的,不是你的視圖中。

MSDN reference here

+5

是的,但更好將Take()放在控制器代碼中。 – 2013-05-13 19:47:01

+1

我認爲這在視圖中是可以的,具體取決於你可能打算對模型做什麼。 (即視圖不是每個都適用,而是在其他地方使用完整模型) – 2013-05-13 19:53:47

+0

@RobertNoack是的。情況可能如此。編輯我的答案。 – 2013-05-13 19:54:49

2

可以使用LINQ .Take()方法。

相關問題