在 C# 的 asp.net 下拉列表中的 select2 上设置多个选定值
Posted
技术标签:
【中文标题】在 C# 的 asp.net 下拉列表中的 select2 上设置多个选定值【英文标题】:set multiple selected value on select2 multiple in asp.net dropdownlist from C# 【发布时间】:2016-10-30 08:38:41 【问题描述】:我需要在一本书下添加多个作者。所以我在asp下拉列表中使用了“Select2 Multiple”。我能够插入数据,但在编辑模式下我无法在下拉列表中分配多个选定值。
我在 aspx 页面中的下拉列表是
<asp:DropDownList ID="ddlAuthor" runat="server" multiple="multiple" data-placeholder="Select Author (s)" CssClass="form-control select2"></asp:DropDownList>
在 C# 中,我尝试了以下方法,但它只添加了一个值。我的 c# 代码是
foreach (DataRow row in dtAuthor.Rows)
ddlAuthor.Items.FindByValue(row["AUTHOR_ID"].ToString()).Selected = true;
关于如何从 c# 在编辑模式下设置多个选定值的任何建议?
【问题讨论】:
我建议你使用Drop Down CheckBoxList control 我的下拉列表会有数千条数据,所以复选框是个问题。从这个意义上说,Select2 建议很有帮助。 【参考方案1】:您不能使用 DropDownList 来实现这一点,请使用这样的列表框:
<asp:ListBox ID="ddlAuthor" runat="server" SelectionMode="Multiple" data-placeholder="Select Author (s)" CssClass="form-control select2"></asp:ListBox>
你后面的代码就可以工作了。
编辑:
下面是一个代码示例:
//I bind my ListBox with random data
List<string> data = new List<string>() "Flo", "Auteur", "Patrick","Test" ;
//Databind
ddlAuthor.DataSource = data;
ddlAuthor.DataBind();
//Here is my selected values, i wish that this values are selected
List<string> selected = new List<string>() "Flo", "Patrick" ;
//Foreach value in my selected list i select the proper value in my listbox
foreach (string row in selected)
ddlAuthor.Items.FindByValue(row).Selected = true;
【讨论】:
如何在 C# 中设置 ListBox 中的选中列表? 正如您在帖子中所做的那样,您背后的代码将与 listBox 一起使用 哇,非常感谢。完美如我所愿。 你不能点击我的回答按钮来“关闭”这个问题:) 即使您的声誉很低,您也可以随时在自己的问题中将答案标记为答案,不是吗?【参考方案2】:在这种情况下,您没有使用 select2 ! 您需要使用select2,并将所有多个数据推送到一个变量中并将其发送到js函数或使用ajax
$(".ddlAuthor").select2('data', youDataHere);
【讨论】:
以上是关于在 C# 的 asp.net 下拉列表中的 select2 上设置多个选定值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用C#从asp.net MVC中的枚举绑定下拉列表[重复]
使用 C# 在 ASP.NET MVC 3 中创建级联下拉列表的最简单方法
使用 C# 在 ASP.NET 中检查 SQL Server 表中的列值是不是为空