在控制器中排序结果

本文关键字:结果 排序 控制器 | 更新日期: 2023-09-27 17:50:55

我有以下动作在我的控制器:

public ActionResult Details(String id)
{
    MyRecordContext rc = new MyRecordContext();
    List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id).ToList();
    return View(rl);
}

我如何添加订单子句到我的查询,以订购x.RecordName字段上的记录?

在控制器中排序结果

您可以使用OrderBy扩展方法,例如

public ActionResult Details(String id)
{
    MyRecordContext rc = new MyRecordContext();
    List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id).OrderBy(x => x.RecordName).ToList();
    return View(rl);
}

这将按RecordName的字母顺序对项目进行排序。

如果您想按两个字段排序,您可以这样做:

List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id)
                                .OrderBy(r=>r.RecordName)
                                .ThenBy(r=>r.RecordTitle)
                                .ToList();

ThenBy方法对序列中的元素按键升序进行后续排序。如果多次调用OrderBy,它将有效地将序列完全重新排序两次

您可以将OrderBy用于eg

public ActionResult Details(String id)
{
MyRecordContext rc = new MyRecordContext();
List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id).OrderBy(x => x.RecordName ).ToList();
return View(rl);
}