0

我试图在我的 dropdownlistFor 中使用 distinct() 以消除重复项。Model.Categories 包含一个字符串列表。一直在尝试不同的“组合”,但无法让它发挥作用..我认为下面的例子可以做到这一点,但它仍然显示重复。

@Html.DropDownListFor(model => model.CatDropTemp,
                                                Model.Categories.Select(kat => new SelectListItem { Text = kat, Value = kat }).Distinct())

我是否可能必须更改列表的整个结构,或者我是否缺少某些东西?

编辑:

在论坛上找到了这个语法:

 @Html.DropDownList(
                "Foo",
                 new SelectList(
                 Model.Categories.Select(x => new { Value = x, Text = x }).Distinct(),
                 "Value",
                 "Text"
               )
             )

这需要处理 Distinct() 部分,但是......使用这种语法我看不到我在哪里添加我的

new{@class="form-control"}

有什么建议吗?

4

1 回答 1

0

我认为你需要在链的早期做你的不同,它看起来不像 SelectListItem 实现任何 Equality/Comparison 接口(假设你的模型覆盖 Equals 和 GetHashCode)

于 2014-06-23T19:28:36.880 回答