我试图在我的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"}
有关这方面的提示吗?
答案 0 :(得分:0)
我认为您需要在链中更早地进行分析,它看起来不像SelectListItem实现任何Equality / Comparison接口(假设您的模型覆盖Equals和GetHashCode)