1

我知道有很多类似的问题,但我无法得到它的工作......我想从实体框架实体填充下拉列表。我有以下实体类:从实体框架数据库上下文填充下拉列表

namespace Accounting.Entity 
{ 
    [Table("Cities", Schema = "np")] 
    public class Cities 
    { 
     [Key] 
     [XmlElement("Ref")] 
     public System.Guid Ref { get; set; } 
     [XmlElement("Description")] 
     public string Description { get; set; } 

    } 
} 

控制器:

public class OrderController : Controller 
{ 

    public ActionResult PopulateCitiesDD() 
    { 

     var list = _repository.All<Cities>().ToList(); 
     ViewBag.MyCities = new SelectList(list, "Ref", "Description", 0); 
     return View(); 
    } 
} 

我应该在视图中使用什么来填充下拉列表?基于

+1

DropDownListFor优良 –

+0

什么是DropDownListFor的第一个参数? –

回答

1

你贴,你可以在你看来这样创建一个下拉列表中的控制器/动作代码:

@Html.DropDownList("city", (SelectList)ViewBag.MyCities) 
+0

消息=没有类型为'IEnumerable '的ViewData项具有关键字'city'。 –

+0

嗯。只要确定:你在控制器中设置ViewBag.MyCities? – Peter

+0

@sidux,如果'ViewBag.MyCities'为'null',你将只会得到这个消息(可能是因为在POST方法中你返回视图,但没有像在GET方法中那样重新分配ViewBag.MyCities) –