2010-05-02 163 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>