0

我有一组要传递给视图的模型,我想在下拉列表中显示每个 model.property。问题是我的代码中有一个错误,它显示了两个重复的项目。

@model IEnumerable<UserManager.Models.vw_UserManager_Model>

@Html.Label("BRAD Module:")&nbsp
@Html.DropDownListFor(model => model.FirstOrDefault().module_name, Model.Select(x => new SelectListItem { Text = x.module_name, Value = x.module_name }), new { id = "ddlSelectedBrad", onchange = "chkSelection()" })

我目前正在使用 FirstOrDefault() 来访问我的模型集合中每个模型的模块名称。但是通过这样做,我有一个重复的值。

请参阅下面的屏幕截图:

在此处输入图像描述

市场:休闲两次出现

在此处输入图像描述

情报显示两次。如果我更改此下拉值并返回此屏幕,它将显示两个重复值。 概括

有谁知道编写 LINQ 查询的更好方法?

谢谢。

4

1 回答 1

0

代替

Model.Select(x => new SelectListItem { Text = x.module_name, Value = x.module_name })

尝试

Model.GroupBy(x => x.module_name).Select(x => new SelectListItem { Text = x.First().module_name, Value = x.First().module_name })

这应该过滤重复的记录。

于 2013-01-21T15:29:28.533 回答