我需要能夠在ASP MVC 3項目中構建下拉列表的動態列表。我的模型包含以下內容:將下拉列表綁定到asp MVC中的集合3
public IList<Collections.Division> Divisions { get; set; }
public SelectList DivisionSelectList
{
get
{
DivisionRepository repo = new DivisionRepository();
var divisions = repo.Divisions;
return new SelectList(divisions,"DivisionId","DivisionName");
}
}
而科類看起來是這樣的:
public class Division
{
public int DivisionId { get; set; }
}
我建立下拉菜單的列表中這樣的觀點:
@for(int i = 0;i< Model.Divisions.Count;i++)
{
@Model.Divisions[i].DivisionId //for debug only
@Html.DropDownListFor(x=>x.Divisions[i].DivisionId,Model.DivisionSelectList)
<br/>
}
名單在渲染視圖之前填充分區,我可以看到數據看起來正確,但下拉菜單項未被選中。有誰知道爲什麼?
當創建模型時會填充部門列表,如下所示:private void GetDivisions(int taskId) { DivisionTaskRepository repo = new DivisionTaskRepository(); (x => x.LeadDivision!= true).Select( x => new Collections.Division {DivisionId = x.DivisionId})。ToList(); } – 2012-08-03 11:36:00
請注意,部門存儲庫是從數據庫填充幷包含所有部門實體。這與本地Divisions列表不一樣,它只包含我們感興趣的分區ID列表。此答案中的代碼不起作用。請注意,我確實得到了我期望的數據,問題是下拉列表不會綁定。 – 2012-08-03 11:54:10