2013-03-12 3 views
0

Я хочу связать список Html.DropDown со значениями, которые у меня есть в устройстве для чтения данных.Binding DropDown List с результатами чтения данных

После нескольких примеров я преобразовал мою DataReader в Enumerator через GetEnumerator метод и чем контроллер пытается бросить это как SelectList через Cast<SelectList>().GetEnumerator(), но здесь я получаю сообщение об ошибке, что:

'System.Collections.IEnumerator' does not contain a definition for 'Cast' and the best extension method overload 'System.Linq.Queryable.Cast<TResult>(System.Linq.IQueryable)' has some invalid arguments D:\Dev\MYPROJECT\MYPROJECT\MYPROJECT\Controllers\UserController.cs 

Может кто-нибудь помочь я узнаю, как я могу связать свой собственный список Drop с результатами из базы данных.

In Model:

var prsnsInfo = new string[3]; 
IEnumerator Iprsns = null; 

try 
{ 
if (prsns != null || prsns.HasRows) 
    Iprsns = prsns.GetEnumerator(); 
} 

catch (Exception ex) { } 
return Iprsns; 

in Controller:

var prsns = ModelObj.GetPersons(1); 
ViewBag.prsns = prsns.Cast<SelectList>().GetEnumerator(); 

in View:

@Html.DropDownList("person",(IEnumerable<SelectList>)ViewBag.prsns) 

ответ

0

Я бы попробовать использовать .select

V iewBag.prsns = prsns.Select (x => new SelectListItem {Text = x.ID, Value = x.Name}). ToList()

(ID и имя являются полями, заменяйте их соответствующими полями к вашим потребностям)

+0

С этим Он дает эту ошибку: '' System.Collections.IEnumerator 'не содержит определения для' Select 'и никакого метода расширения' Select ', принимающего первый аргумент типа' System.Collections. IEnumerator '(вам не хватает директивы использования или ссылки на сборку?) ' – Maven

+0

Добавить ссылку на Linq – TNCodeMonkey

 Смежные вопросы

  • Нет связанных вопросов^_^