我正在使用Web Api构建基于Enum的ViewModel。此视图模型将发送id和名称。基本上我想使用这个viewModel来使用dropdownList。
这是我的代码:工作正常,但我不想在Web Api中使用ListItem。
// GET api/values
public List<DropdownViewModel> Get()
{
List<DropdownViewModel> ddlList = new List<DropdownViewModel>();
foreach (int r in Enum.GetValues(typeof(CountryEnum)))
{
ListItem item = new ListItem(Enum.GetName(typeof(CountryEnum), r), r.ToString());
ddlList.Add(new DropdownViewModel
{
id = item.Value,
name = item.Text
});
}
return ddlList;
}
任何人都可以在不使用ListItem的情况下重新考虑此代码吗?
答案 0 :(得分:0)
Linq Select 方法应该有效。
编辑:这只是表明如果没有经过测试就无法运行。这是经过测试的。它应该工作。
public List<DropdownViewModel> Get()
{
return Enum.GetValues(typeof (CountryEnum)).Cast<int>()
.Select(id => new DropdownViewModel
{
id = id,
name = Enum.GetName(typeof (CountryEnum), id)
}).ToList();
}