小编kir*_*era的帖子

通用ToSelectListItem方法

我在数据库中有大约10个非常简单的表:

create table EmploymentStatus
(
    Id int identity(1,1) Primary Key,
    Name nvarchar(100) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

这些表用于DropDownLists注册视图,如下所示:

@Html.DropDownListFor(m => m.EmploymentStatus, Model.EmploymentStatusList, Resource.EmploymentStatus, new { @class = "form form-control" })
Run Code Online (Sandbox Code Playgroud)

DropDownListFor需要IEnumerable<SelectListItem> selectList一个集合.所以,我创建了一个方法:

public static List<SelectListItem> ToSelectItemList(IQueryable<EmploymentStatu> statuses)
{
    return statuses.Select(m => new SelectListItem
    {
        Text = m.Name,
        Value = m.Id.ToString()
    }).ToList();
}
Run Code Online (Sandbox Code Playgroud)

问题是我必须为十个实体中的每一个创建一个方法.是否有一种编写通用方法的好方法,如下所示:

public static List<SelectListItem> ToSelectItemList(IQueryable<T> collection)
{
    return collection.Select(m => new SelectListItem
    {
        Text = m.Name,
        Value = m.Id.ToString()
    }).ToList();
}
Run Code Online (Sandbox Code Playgroud)

c# linq generics asp.net-mvc

2
推荐指数
2
解决办法
393
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

generics ×1

linq ×1