如何只在数据库中显示5条最新记录 - ASP.NET MVC

时间:2016-03-01 16:44:36

标签: c# asp.net asp.net-mvc view

所以我要做的是显示存储在数据库中的5条最新记录,以显示在“创建”视图中。该表存储在“_Recent”中,这是该表的局部视图。该表格显示在“创建”视图中,但我怎样才能显示最近的5条记录而不是所有内容。

_Recent(Partial View)

<div class="col-md-6">
<div class="table-title">
    <table class="table-fill">
        <thead>
            <tr>

                <th>
                    @Html.DisplayNameFor(model => model.DisplayName)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.Date)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.Amount)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.TaxBonus)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.Comment)
                </th>

            </tr>
        </thead>

</div>


@foreach (var item in Model)
{
    <tbody class="table-hover">
        <tr>
            <td clas="text-left">

                @Html.DisplayFor(modelItem => item.DisplayName)
            </td>
            <td class="text-left">

                @Html.DisplayFor(modelItem => item.Date)
            </td>
            <td class="text-left">

                @Html.DisplayFor(modelItem => item.Amount)
            </td>
            <td class="text-left">

                @Html.DisplayFor(modelItem => item.TaxBonus)
            </td>
            <td class="text-left">

                @Html.DisplayFor(modelItem => item.Comment)
            </td>

        </tr>


    </tbody>

}

</table>

创建视图

<div class="table-title">
   @Html.Partial("_Recent", Model);

</div>

创建控制器

public ActionResult Create()
    {
        return View(db.Donations.ToList());
    }

慈善班

    public class Charity
{
    public int ID { get; set; }
    public string DisplayName { get; set; }
    public DateTime Date { get; set; }
    public Double Amount { get; set; }
    public Double TaxBonus { get; set; }
    public String Comment { get; set; }
}

public class CharityDBContext : DbContext //controls information in database 
{
    public DbSet<Charity> Donations { get; set; } //creates a donation database
    public Charity Highest { set; get; }
    public CharityDBContext()
    {
        this.Highest = new Charity();


    }

}

3 个答案:

答案 0 :(得分:3)

public ActionResult Create()
{
    return View(db.Donations.OrderByDescending(x => x.Id).Take(5).ToList());
}

您也可以使用OrderByDescending(x => x.Date)。好的做法是在记录创建时以及更新时有日期(列和属性),因此您可以按这些字段进行排序。

答案 1 :(得分:0)

正确的做法是:

  1. 按所需字段(OrderByDescending)
  2. 订购记录
  3. 将结果限制为所需的记录(Take)
  4. 最后,从数据库(ToList)中实现您的结果。
  5. function reg(event){ event.preventDefault(); // stop default from reloading page var postData = $(this).serialize(); $.post('classCalling.php', postData , function(response){ console.log(response); }); } $('#password-form').submit(reg);

    这使得查询在底层数据库引擎中执行,并且只从数据库表中获取确切的记录数。

答案 2 :(得分:-2)

public ActionResult Create()
{
    return View(db.Donations.OrderByDescending(o => o.ObjectID).Take(5).ToList());
}

请检查大写字母,我现在不在视觉工作室。

<强>已更新