Asp.net mvc 4 MVC4中的动态绑定下拉列表

Asp.net mvc 4 MVC4中的动态绑定下拉列表,asp.net-mvc-4,drop-down-menu,entity,Asp.net Mvc 4,Drop Down Menu,Entity,我试图创建一个下拉列表,并将其绑定到从数据库获取的值。 我怎样才能做到这一点。到目前为止,我已经完成了以下工作。我希望下面代码中的下拉列表ie c.ID项的值与CountryVM的Currency_ID绑定 public CountryVM() { [DisplayName("Country ID")] [Required] public string ID { get; set; }

我试图创建一个下拉列表,并将其绑定到从数据库获取的值。 我怎样才能做到这一点。到目前为止,我已经完成了以下工作。我希望下面代码中的下拉列表ie c.ID项的值与CountryVM的Currency_ID绑定

 public CountryVM()
    {      
            [DisplayName("Country ID")]
            [Required]
            public string ID { get; set; }

            [Required]
            [DisplayName("Description")]
            public string Description { get; set; }


            [DisplayName("Currency Id")]
            public Nullable<int> Currency_ID { get; set; }

        }
在视图中这样做:

@
{
SelectList CurrencyList = (SelectList)ViewBag.curr_symbol;
}

@Html.DropDownListFor(model => model.Currency_ID,CurrencyList)
在行动中:

IEnumerable<SelectListItem> list = items.Select(c => new SelectListItem { Text = c.CURRENCY_SYMBOL, Value = c.ID.ToString() }).ToList();
更新:


正如您在讨论中所说,它正在表单post上引发异常,因此您需要再次填写列表,并将其放入post操作中的
ViewBag
,因为从
ViewBag
中删除了它。

没有具有键“Currency\u ID”的类型为“IEnumerable”的ViewData项。确保列表中有元素,并在ViewBag中设置。用您在操作和视图中所做的更改编辑帖子,然后我就可以很容易地帮助您了。我刚刚写道:IEnumerable CurrencyList=(IEnumerable)ViewBag.curr_symbol;在我的view@SivaRajini:您不需要投射ViewBag
@
{
SelectList CurrencyList = (SelectList)ViewBag.curr_symbol;
}

@Html.DropDownListFor(model => model.Currency_ID,CurrencyList)
IEnumerable<SelectListItem> list = items.Select(c => new SelectListItem { Text = c.CURRENCY_SYMBOL, Value = c.ID.ToString() }).ToList();
var list = (from c in items
           select new SelectListItem {Text = c.CURRENCY_SYMBOL, 
                                      Value = c.ID.ToString() }).ToList();