ASP.NET MVC使用视图中的值填充DropDownList

时间:2010-05-02 07:19:18

标签: c# asp.net-mvc drop-down-menu views

在我的控制器中我有这个:

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>

请注意,我正在使用spark视图引擎,因此DropDownList将通过循环呈现给页面。这意味着下拉列表的选定值将在循环的每次迭代中更改。

我无法解决的是如何根据当前呈现给屏幕的值传递我想要设置DropDownList的值。

1 个答案:

答案 0 :(得分: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>