对列表 C# 中的模型中的项进行排序
本文关键字:排序 模型 列表 | 更新日期: 2023-09-27 18:30:56
我是MVC 4的新手,我正在尝试弄清楚如何对通过从模型中读入而创建的列表进行排序。
这是模型代码:
public class Files
{
[Key]
public int File_id { get; set; }
public string Original_file_name { get; set; }
public string Current_file_name { get; set; }
public string Description { get; set; }
public string File_path { get; set; }
public string File_type { get; set; }
public string File_status { get; set; }
public DateTime Expiry_date { get; set; }
//public int Uploaded_by { get; set; }
//public DateTime Uploaded_on { get; set; }
}
public class FilesContext : DbContext
{
public DbSet<Files> Files { get; set; }
}
下面是创建列表的控制器代码:
return View(db.Files.ToList());
最后是将其写入屏幕的 html:
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Original_file_name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Current_file_name)
</td>
<td>
@Html.DisplayFor(modelItem => item.File_type)
</td>
<td>
@Html.DisplayFor(modelItem => item.File_status)
</td>
<td>
@Html.DisplayFor(modelItem => item.Expiry_date)
</td>
<td>
@Html.ActionLink("Details", "Details", new { id=item.File_id }) |
<!--@Html.ActionLink("Test", "Test", new { id=item.File_id }) |-->
@Html.ActionLink("Delete", "Delete", new { id=item.File_id })
</td>
</tr>
}
按文件名升序排序:
db.Files.OrderBy(file => file.Original_file_name).ToList();
按文件名排序:
db.Files.OrderByDescending(file => file.Original_file_name).ToList();
多重订购方式:
db.Files.OrderBy(file => file.Original_file_name).ThenBy(file => file.Expiry_date).ToList();
您还可以参考: MSDN: LINQ 排序操作
喜欢:
db.Files.OrderBy(f => f.Expiry_date).ToList();
或
db.Files.OrderByDescending(f => f.Expiry_date).ToList();
return View(db.Files.OrderBy(col=>col.Expiry_date).ToList());
或者将Expiry_date替换为要作为排序依据的任何其他列。