У меня есть SelectList, который я сначала проверяю для выбранного значения! = Null, а затем хочу использовать это выделенное значение в предложении where для фильтра. Вот так:
if(searchBag.Qualities.SelectedValue != null){
ListItem selected = (ListItem)searchBag.Qualities.SelectedValue;
}
Я сделал приведение в виде отдельной бесполезной линии, чтобы точно определить проблему.
Это дает мне
Невозможно привести объект типа «WhereListIterator`1 [System.Web.Mvc.ListItem]» к типу «System.Web.Mvc.ListItem».
Weuh
- EDIT -
Это было действительно потому, что были сделаны несколько выборов.
Это произошло потому, что при создании я установил выбранное значение в theItems.Where (i => i.someCriterea) и забыл поставить .FirstOrDefault () в конце. Завершая в возможности нескольких ответов.
Так как это был IEnumerable, это был ленивый список и, следовательно, WhereListIterator, я думаю.
Я решил это, просто поставив FirstOrDefault в конце.