MVC 2 - 仅显示每个循环的第一个结果

时间:2012-11-21 16:02:47

标签: asp.net-mvc model-view-controller asp.net-mvc-2 viewmodel

我有一个看似相当基本的循环:

<% foreach (var item in Model.Items.OrderByDescending(b => b.ItemDateTime)) {%>

我不是要遍历我想输出第一项的所有项目,我该怎么办?

2 个答案:

答案 0 :(得分:2)

您可以使用收藏的FirstODefault()方法。尝试这样的事情:

// check if the model contains any item
if (Model.Items.Count() > 0)
{
    //show the item...
    var firstItem = Model.Items.OrderByDescending(b => b.ItemDateTime).FirstOrDefault();
}

答案 1 :(得分:1)

为了扩展Felipe的评论,通常更好的设计是在视图模型或控制器中放置这样的东西,而不是视图。

你可以把它放在你的viewmodel

public Item EarliestItem
{
    get { return Items.OrderByDescending(b => b.ItemDateTime).FirstOrDefault(); }
}

然后在您的视图中使用它

或者你想用最早的物品做什么。