[英]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.