在 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 表中的列值是不是为空

在 ASP.NET C# 中使用 jQuery 将多个参数传递给 Web 方法

在 asp.net 中的另一个下拉选择中更改了下拉值

如何使用 ASP.NET Core Razor 页面预选下拉列表中的项目