2016-08-26 6 views
0

私はList<SelectListItem>にキャンパスを持ち、SelectListItem.Textはキャンパスの名前で、SelectListItem.ValueはキャンパスIDです。SelectListItemの更新方法List内の選択値<T>

次に、いくつかのキャンパスIDを保持するList<string>があります。

は、私はここにキャンパスのIDと一致キャンパスのすべてにtrueSelectListItemSelectedプロパティを設定する必要が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'プロパティを設定したいでしょう。 '@ H​​tml.ListBoxFor()を使用して正しく表示された場合、' Selected'プロパティは無視されます(内部的にメソッドは独自の 'IEnumerable 'を構築します) –

答えて

0

あなたが特定の値は、そのリストにある場合はtrueを返すようにList.Contains Method (T)を使用することができます。

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

は完璧な、ありがとう! – esausilva

関連する問題