在dropdownlistFor中使用distinct()

时间:2014-06-23 19:24:21

标签: model-view-controller dropdownlistfor

我试图在我的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"}

有关这方面的提示吗?

1 个答案:

答案 0 :(得分:0)

我认为您需要在链中更早地进行分析,它看起来不像SelectListItem实现任何Equality / Comparison接口(假设您的模型覆盖Equals和GetHashCode)