2010-05-02 277 views
2

在我的控制器填充與值一個DropDownList我有這樣的:ASP.NET MVC從視圖

ViewData["maskList"] = new SelectList(equipmentRepository.GetMasks(), "Id", "DisplayName"); 

,然後我把它綁定到使用

<div each="var nfa in mfa.NasalFittingAssessment"> 
    ${Html.DropDownList("NasalMaskTypeId", ViewData["maskList"] as IEnumerable<System.Web.Mvc.SelectListItem>, new { class = "ddl" })}     
</div> 

請注意,我是我的看法m使用spark視圖引擎,所以這個DropDownList通過循環呈現給頁面。這意味着下拉列表的選定值將在循環的每次迭代中改變。

我不能解決的是如何傳遞我想設置DropDownList的值,以基於當前呈現給屏幕的值。

回答

1

所以有點玩弄後,我的工作了:

你想要做的就是分配泛型集合在控制器這樣的內容:

ViewData["maskList"] = equipmentRepository.GetMasks(); 

,然後構建選擇列表的像這樣從視圖內飛:

<div each="var nfa in mfa.NasalFittingAssessment"> 
    ${Html.DropDownList("NasalFittingAssessment.NasalMaskType.Id", new SelectList(ViewData["maskList"] as IList<Equipment>, "Id", "DisplayName", nfa.NasalMaskType.Id), new { class = "ddl" })}     
</div>