2014-06-23 62 views
0

我想在我的dropdownlistFor中使用distinct()以擺脫重複。 Model.Categories包含一個字符串列表。 一直嘗試不同的「組合」,但不能得到它的工作..我認爲下面的例子會做的tric,但它仍然顯示重複。使用distinct()在dropdownlistFor

@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" 
       ) 
      ) 

這需要照顧鮮明的()的 - 部分,但是......有了這個語法,我不能看到我的加我

new{@class="form-control"} 

對此可能有任何提示?

回答

0

我認爲你需要在鏈中更早地完成你的區別,它看起來不像SelectListItem實現任何相等/比較接口(假設你的模型覆蓋了Equals和GetHashCode)