Html.DropDown リストを、データ リーダーにある値にバインドしたいと考えています。
いくつかの例に従って、メソッドを介して DataReader を Enumerator に変換し、GetEnumerator
Controller でキャストしようとしているのは 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
自分のドロップ リストをデータベースの結果とバインドする方法を教えてください。
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)