2016-08-26 56 views
0

我有一個List<SelectListItem>擁有校園,每個SelectListItem.Text是校園的名稱和SelectListItem.Value是校園ID。如何更新SelectListItem列表中的選定值<T>

然後我有List<string>,它擁有一些校園ID。

我需要在SelectListItemSelected屬性設置爲true所有在這裏匹配校園ID的校園List<string>

我下面的代碼只能如果在List<string>

List<SelectListItem> CampusesList = ... 
... 
List<string> campuses = GetCampusesIds(id); 
foreach (string campus in campuses) { 
    CampusesList.ForEach(x => { x.Selected = x.Value == campus; }); 
} 
只有一個ID

我該如何解決這個問題?

感謝

+0

'CampusesList.ForEach(X => x.Selected = campuses.Contains(x.Value));',而不是foreach循環你已經有了 –

+0

這樣的作品,感謝 – esausilva

+0

真正的問題是,爲什麼你會想要設置'Selected'屬性。如果你已經生成了使用'@ Html.ListBoxFor()正確查看,那麼就沒有意義了,因爲'Selected'屬性被忽略了(在內部方法構建了它自己的'IEnumerable ') –

回答

0

可以使用List.Contains Method (T)如果一個特定的值是在該列表返回true。

CampusesList.ForEach(x => x.Selected = campuses.Contains(x.Value)); 
+0

works perfect,thanks! – esausilva

相關問題