📅  最后修改于: 2023-12-03 14:59:23.930000             🧑  作者: Mango
在 ASP.NET MVC 开发中,经常需要将数据模型转换为前端页面中的下拉选择框(select)选项。而 SelectListItem 则是 MVC 中专门用于表示下拉选择框选项的类。本文将介绍如何将数据模型中的 IEnumerable 转换为 SelectListItem。
假设我们有一个数据模型,其中包含了要在下拉选择框中显示的数据,如下所示:
public class MyDataModel
{
public int Id { get; set; }
public string Name { get; set; }
}
使用 MyDataModel 中的数据,我们可以创建一个 SelectListItem 示例,用于在视图中显示下拉选择框选项。示例代码如下:
var model = new MyDataModel { Id = 1, Name = "ABC" };
var selectListItem = new SelectListItem { Text = model.Name, Value = model.Id.ToString() };
接下来,我们将演示如何将 IEnumerable
IEnumerable<MyDataModel> myDataModels = // 获取 MyDataModel 实例的 IEnumerable
List<SelectListItem> selectListItems = myDataModels
.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() })
.ToList();
在上述代码中,我们用 Select 方法将 MyDataModel 类型映射为 SelectListItem 类型,并使用 ToList 方法将结果转换为 List
最后,我们可以将转换后的 List
@Html.DropDownListFor(x => x.SelectedId, selectListItems)
在上述代码中,我们使用 Html.DropDownListFor 方法将 SelectListItem 列表显示在视图中。其中,SelectedId 是视图模型中表示所选项目的属性。