自动选择下拉列表中的选定项目

Posted

技术标签:

【中文标题】自动选择下拉列表中的选定项目【英文标题】:Selecting selected item in Dropdownlistfor atomatically 【发布时间】:2020-01-31 12:23:42 【问题描述】:

我在部分视图中有一个 dropdownlistFor 类似这个

 <div class="col-md-12">
     Referre To: @html.DropDownListFor(m => m.SenderPosition_Id, ViewBag.senderPositionsList as SelectList, "--Select--", new  @class = "form-control" )
 </div>

这个 Dropdownlistfor 在控制器中是这样填充的:

 List<ReferrableUsersViewModel> senderPositionsList = new List<ReferrableUsersViewModel>();       
 using (WebECartableEntities dc = new WebECartableEntities())
                           
    senderPositionsList = dc.Positions.Where(m => m.usr_Id == User.Identity.Name).Select(x => new ReferrableUsersViewModel
                
                    SenderPosition_Id = x.ID,
                    Name_Position = x.Title
                
                ).Distinct().OrderBy(m => m.Name_Position).ToList();


    ViewBag.senderPositionsList = new SelectList(senderPositionsList, "SenderPosition_Id", "Name_Position");
 

我希望如果 DropdownlistFor 有一个项目,它会被自动选择,但如果它有多个项目,让用户选择它。 如何在 MVC 中做到这一点?

【问题讨论】:

【参考方案1】:

在控制器操作中,您可以检查集合的计数是否为 1,将模型对象的 SenderPosition_Id 设置为类似:

if(senderPositionsList.Count == 1)

     model.SenderPosition_Id = senderPositionsList.First().ID;

......
......
return View(model); 

【讨论】:

以上是关于自动选择下拉列表中的选定项目的主要内容,如果未能解决你的问题,请参考以下文章

源列表更改时数据验证下拉列表选定项自动更新

如何在下拉列表中显示所选项目名称?

如何根据下拉列表中的选定数字生成表单输入字段(选择)

根据下拉列表中的选定值显示表单字段Angular TypeScript

尝试更改引导选择多选下拉列表中的选定指示器图标

如何从下拉列表列表中找到选定的下拉列表?