繁体   English   中英

将单列绑定到多选列表

[英]Binding a single column to a Multiselect List

我有一个名为Service的表,其中有一个称为TSBNumber的列。 我试图在视图中以多选形式显示值。 我对此感到困惑的是DataText和Data Value字段,因为这本身是一个字段,所以datatext和value字段是相同的。

var tsbNumbersList = (from se in db.ServiceEntry
                                   join r in db.System1 on se.SystemID equals r.ID
                                   where se.Active == true && r.PlatformID == 1 && se.TSBNumber != null
                                   select se.TSBNumber).ToList().Distinct()

我应该只传递Collection吗,如果这样做,则在视图的下拉列表中看到System.SelecListItem

   <div class="bodyContent">
            <span class="leftContent"><a id="qTipServiceTsbExportTsbSelection" href=''>
                @Html.Label("TSB Number")</a> </span><span class="rightContent">
                    @Html.ListBoxFor(model => model.SelectedTsbs, new MultiSelectList(ViewBag.TsbNumber, Model.SelectedTsbs),
                    new { id = "Tsblstbox", name = "listbox", @class = "chosen-select", multiple = "multiple", data_placeholder = "Click here to Select Tsb Number...", style = "width:90%;", tabindex = "4" }
                    )
                </span>
        </div>

更改查询以删除select子句

var tsbNumbersList = (from se in db.ServiceEntry
  join r in db.System1 on se.SystemID equals r.ID
  where se.Active == true && r.PlatformID == 1 && se.TSBNumber != null
  select se).Distinct();

并基于集合创建一个SelectList

ViewBag.TsbNumber = new SelectList(tsbNumbersList, "TSBNumber", "TSBNumber");

并认为

 @Html.ListBoxFor(model => model.SelectedTsbs, (SelectList)ViewBag.TsbNumber)

如果string[] SelectedTsbs值为[“ 121”,“ q231”],则将选择第1个和第3个选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM