【问题标题】:List last 5 records列出最后 5 条记录
【发布时间】:2014-05-03 11:09:02
【问题描述】:

我正在尝试列出最近 5 条记录,直到当前日期(最近的约会)。我的控制器运行良好,但我如何仅过滤 5 条记录并且日期在今天之前。

  using (var db = new MaindbModelDataContext())
            {
                var patient = db.Patients.FirstOrDefault(u => u.Email == (String)Session["UserEmail"]);
                var listrecent = from y in db.Appointments
                                 where y.PatientNo == patient.PatientNo
                                 select y;
                var TempRecent = new List<Models.AppModel>();
                foreach (var item in listrecent)
                {
                    var Temp = new Models.AppModel();
                    Temp.AppNo = item.AppNo;
                    Temp.PatientNo = (Int32)item.PatientNo;
                    Temp.Date = (DateTime)item.Date;
                    Temp.Status = item.Status;
                    Temp.Description = item.Description;
                    TempRecent.Add(Temp);

                }
                return View(TempRecent);
            }

        }
        else
        {
            return RedirectToAction("RegAndLogin", "User");
        }
    }

}

这是我的看法

@model IEnumerable<DentAppSys.Models.AppModel>
@using System.Web.Helpers
 <section class="Patient-Dashboard">

        <div id="dashboard_left">
            <h1> Recent Appointments</h1>
   @{
    var Mygrid = new WebGrid(Model, selectionFieldName: "SelectedRow");
}

@Mygrid.GetHtml(
    displayHeader: true,
    alternatingRowStyle: "alt",
    selectedRowStyle: "select",
    mode: WebGridPagerModes.All,

columns: Mygrid.Columns
(

    Mygrid.Column("Appointment No", "Appointment No",format: @<text>@item.AppNo</text>),
    Mygrid.Column("Patient No", "Patient No", format: @<text>@item.PatientNo</text>) ,
    Mygrid.Column("Description", "Description", format: @<text>@item.Description</text>),
    Mygrid.Column("Date", "Date", format: @<text>@item.Date.ToString("MM/dd/yyyy")</text>),
    Mygrid.Column("Status", "Status", format: @<text>@item.Status</text>)

))
</div>

<div id="dashboard_right">
<br/>
<h1>Incoming Appointments</h1>
</div>
</section>

【问题讨论】:

  • 也许你可以用你正在使用的框架来标记这个问题?这样更有可能有人能正确回答问题。

标签: c# asp.net-mvc list date


【解决方案1】:

我相信您的 l​​inq 语句中的类似内容应该有效:

var listrecent = (from y in db.Appointments
                 where y.PatientNo == patient.PatientNo
                 where y.Date < DateTime.Today
                 orderby y.Date descending
                 select y).Take(5);

【讨论】:

  • 谢谢,我会使用它。我还有另一个问题要列出。最近的约会(今天之前的日期)和传入的约会(今天之后的日期)。我应该使用哪个过滤器?
  • 你可以使用非常相似的逻辑,可能删除'descending'和'Take',然后修改'where'语句。
猜你喜欢
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-21
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多