【问题标题】:How to display(set) only particular items in drop-down?如何在下拉列表中仅显示(设置)特定项目?
【发布时间】:2019-06-15 18:39:07
【问题描述】:

我在这里有一个下拉菜单。我已经让它多选了。 我正在填充此下拉列表,如代码所示。

<td class="border-top-0 border-left-0 border-right-0 align-middle form-group">
  @{
     SelectList newSelectList = new SelectList((from s in Model.UserMasterList.ToList()                                                                   
     select new
     {
       userId = s.userId,
       userName =  (s.userFirstName +' '+  s.userLastName)
     }).Distinct(), "userId","userName",
     string.IsNullOrEmpty(item.JobConstructionManagerId.ToString()) ? 0 : item.JobConstructionManagerId);           
}

  @Html.DropDownListFor(model => item.JobConstructionManagerId, (SelectList)newSelectList, new { @class = "form-control js-select js-noFilter hidden DDConstructionManager", size = "2", @value = 0, Id = "JobConstructionManager" + t, @OnChange = "fill(" + t + ")" })
</td>

我只想显示那些通过模型而不是下拉列表中的所有项目提供的项目,请参考下图。

这些值设置得很好,但我只想显示这些值而不是其他值。如果可能,隐藏其他未选择的项目。

【问题讨论】:

  • 那么通过模型提供的物品有哪些,在哪里?
  • 它的 item.JobConstructionManagerId ..values 通过模型 @er-mfahhgk 从控制器发送
  • 这意味着您只需在下拉列表中显示Standard User 1?如果是,那么您的下拉菜单中只剩下一项,您将如何处理下拉菜单中的一项?
  • 在这种情况下,单个项目被选中,可能有 2 个或更多项目被选中 @er-mfahhgk
  • 如果有 2 件商品,那么 model =&gt; item.JobConstructionManagerId 将保留哪一件商品,因为我认为它只包含单个商品 ID

标签: c# jquery .net asp.net-mvc


【解决方案1】:

您可以过滤您从JobConstructionManagerId 的列表中选择列表项

(from s in Model.UserMasterList.ToList()                                                                   
 select new
 {
      userId = s.userId,
      userName =  (s.userFirstName +' '+  s.userLastName)
 })
 .Where(x => item.JobConstructionManagerId.Contains(x.userId))
 .Distinct()

【讨论】:

    猜你喜欢
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多