我有一個SelectList,我首先檢查選定的值!= null,然後想要使用此選定值在過濾器的where子句中。像這樣:無法將類型爲WhereListIterator <system.web.Mvc.ListItem>的對象轉換爲鍵入system.web.mvc.listitem
if(searchBag.Qualities.SelectedValue != null){
ListItem selected = (ListItem)searchBag.Qualities.SelectedValue;
}
我在一個單獨的無用線中進行了演員指出問題。 這給了我
無法轉換類型的對象 'WhereListIterator`1 [System.Web.Mvc.ListItem]' 爲類型 'System.Web.Mvc.ListItem'。
Weuh?
- 編輯 -
這確實是因爲多選作了。 這是因爲在創建時,我將所選值設置爲Item.Where(i => i.someCriterea),並且我忘記了將.FirstOrDefault()放在最後。結束了多個答案的可能性。 由於它是一個IEnumerable,它是一個懶惰的列表,因此我猜想是WhereListIterator。 我通過簡單地把FirstOrDefault放在最後來解決它。