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

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); 

【讨论】:

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