C# 将单个列绑定到多选列表

C# 将单个列绑定到多选列表,c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,我有一个名为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

我有一个名为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()
我是否应该只传入集合,如果传入,则在视图的下拉列表中,我看到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子句

并基于集合创建一个SelectList

ViewBag.TsbNumber = new SelectList(tsbNumbersList, "TSBNumber", "TSBNumber");
在我看来

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

如果字符串[]SelectedTSB的值为[121,q231],则将选择第一个和第三个选项。

您的意思是要同时显示TSBNumber的值并将其分配给属性SelectedTSB吗?查询返回字段,我希望该字段显示在多选下拉列表中。当用户从此下拉列表中选择值时,索引存储在一个数组中,该数组是SelectedPtsB。当用户点击此视图上的按钮时,控制器操作接收选定的PTSIDSB,但TSBNumber的值是否与存储在SelectedTSB数组中的值相同,或者ServiceEntry是否包含要存储在SelectedTSB中的ID属性。SelectedTSB应按原样发送值,例如,在中有五行,这个名为TSBNumber的列有值121、asdas、q23112312131-因此这些值将显示在下拉列表中,公共字符串[]selectedtsb{get;set;}是字符串数组,它将所选项目发送回服务器查询必须有一个select子句,它抛出了一个错误。Oops-与查询语法和扩展方法语法混淆-请参阅更新
 @Html.ListBoxFor(model => model.SelectedTsbs, (SelectList)ViewBag.TsbNumber)