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

Posted

技术标签:

【中文标题】ASP.NET MVC 使用视图中的值填充 DropDownList【英文标题】:ASP.NET MVC Populating a DropDownList with a value from the view 【发布时间】:2010-05-02 07:19:17 【问题描述】:

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

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】:

所以在玩了一会儿后,我解决了:

您想要做的只是在控制器中分配通用集合,如下所示:

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>

【讨论】:

以上是关于ASP.NET MVC 使用视图中的值填充 DropDownList的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 asp.net mvc4 中的模型列表填充 ListBox?

在 ASP.NET MVC 3 中,Jquery 令牌输入未填充数据库中的值

无法更改 ASP.NET MVC 3 中文本框的值

ASP.NET MVC 视图需要将选定的下拉列表和日历日期传递给模型

asp.net mvc c# - 是不是可以从 CodeBehind 中的模型访问视图中文本框的值?

如何通过 ajax 使用数据库数据填充 ASP.NET MVC 4 下拉列表