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) –