0

Index.cshtml のテーブルに追加された最後の 2 つの項目を表示しようとしています。

public class News
{
    [Key]
    public int id { get; set; }

    public string Titre { get; set; }

    public string Description { get; set; }

    public string Image { get; set; }

    public System.DateTime Date { get; set; }
}

これを使用して、日付を使用して追加された最後の 2 つの「ニュース」を表示したいと思います。

<!--Last item #1-->
<div class="newsBlock" style="clear:left;">
    <img src="" />
    <p></p>
</div>

<!--Last item #2-->
<div class="newsBlock" style="clear:right;">
    <img src="" />
    <p></p>
</div>
<p style="clear:both;">&nbsp;</p>

私はかみそりのforloopを使ってみましたが、どういうわけかできませんでした...

@foreach (var item in Model)
{
    @{var test = Model.OrderByDescending(modelItem => model.Date).Take(2).ToArray();}
}
4

1 に答える 1

0
@foreach (var item in Model.OrderByDescending(modelItem => modelItem.Date).Take(2).ToList())
{
    <div class="newsBlock" style="clear:left;">
        <img src="@item.Image" />
        <p>@item.Title</p>
    </div>
}

また

あなたのコントローラーでより良い方法

public Action Index()
{
    return View(db.News.OrderByDescending(modelItem => modelItem.Date).Take(2).ToList());
}

意見

@model IEnumerable<News>

@foreach (var item in Model)
{
    <div class="newsBlock" style="clear:left;">
        <img src="@item.Image" />
        <p>@item.Title</p>
    </div>
}
于 2013-03-11T14:55:34.257 に答える