Asp.net mvc 4 MVC4中的动态绑定下拉列表
我试图创建一个下拉列表,并将其绑定到从数据库获取的值。 我怎样才能做到这一点。到目前为止,我已经完成了以下工作。我希望下面代码中的下拉列表ie c.ID项的值与CountryVM的Currency_ID绑定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; }
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();