0

かなり基本的なループのように見えるものがあります。

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

最初のアイテムを出力したいだけのすべてのアイテムをループする代わりに、どうすればこれを行うことができますか?

4

2 に答える 2

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();
}
于 2012-11-21T16:04:15.407 に答える
1

フェリペのコメントを拡張するには、通常、ビューではなく、ビューモデルまたはコントローラーにこのようなものを配置することをお勧めします。

これをビューモデルに配置できます

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

次に、これをビューで使用します

または、最初のアイテムでやりたいことは何でも。

于 2012-11-21T16:36:29.050 に答える