以下の変数があります
public IEnumerable<SelectListItem> SelectedGroups { get; set; }
Dictionary<string,string> grpsList;
以下は私の反復です
if(condition)
viemodel.SelectedGroups = selectlist1;
else
viemodel.SelectedGroups = selectlist2;
foreach (var item in viemodel.SelectedGroups) <<--Error message
grpsList.Remove(item.Value);
selectedgroupsを変更していませんが、grpsListから削除するための参照として使用していますが、foreach宣言で失敗しています。
追加されたコード、selectlist1にはgrpsListへの参照が含まれています。これは次のようなものです(追加の結合と他のすべてのコードを削除しました)
from g in grpsList
select g).ToSelectList(g => g.Value, g => g.Key);
selectlist2は別のリストです。