【问题标题】:Multi-select dropdown list in ASP.NETASP.NET 中的多选下拉列表
【发布时间】:2009-04-21 21:01:32
【问题描述】:

对于 asp.net,是否存在带有复选框(webcontrol)的好的多选下拉列表?

非常感谢

【问题讨论】:

    标签: c# asp.net web-controls


    【解决方案1】:

    您可以使用@987654321@ 控件或使用@987654322@ 控件并将SelectionMode 属性设置为Multiple

    【讨论】:

    • 我使用了 CheckBoxList 和 TextBox。使用 javascript 和绝对定位显示和隐藏它。
    • @Jan Remunda 你能提供详细的javascript吗?我会很感激的!
    【解决方案2】:

    jQuery Dropdown Check List 可用于将常规的多选 html 元素转换为下拉复选框列表,它适用于客户端,因此可以与任何服务器端技术一起使用:


    (来源:googlecode.com

    【讨论】:

    • 我认为这个解决方案正是问题所要求的!非常可靠的选择!
    • 但是在 C# 代码隐藏中,我们将如何访问检查列表?有了接受的答案,我们可以使用 foreach(ListItem li in listBox1.Items){if(li.Selected){myList.Add(listItem.Text); } }
    【解决方案3】:

    试试这个直接继承自 CheckBoxList 的服务器控件(免费,开源): http://dropdowncheckboxes.codeplex.com/

    【讨论】:

      【解决方案4】:

      我在http://dropdowncheckboxes.codeplex.com/ 使用了开源控件,并且对它非常满意。如果“选定”标题太长,我的补充是允许检查文件列表仅使用文件名而不是完整路径。在您的回发处理程序中调用我的添加而不是 UpdateSelection:

      // Update the caption assuming that the items are files<br/> 
      // If the caption is too long, eliminate paths from file names<br/> 
      public void UpdateSelectionFiles(int maxChars) {
        StringBuilder full = new StringBuilder(); 
        StringBuilder shorter = new StringBuilder();
        foreach (ListItem item in Items) { 
          if (item.Selected) { 
            full.AppendFormat("{0}; ", item.Text);
            shorter.AppendFormat("{0}; ", new FileInfo(item.Text).Name);
          } 
        } 
        if (full.Length == 0) Texts.SelectBoxCaption = "Select...";
        else if (full.Length <= maxChars) Texts.SelectBoxCaption = full.ToString(); 
        else Texts.SelectBoxCaption = shorter.ToString();
      } 
      

      【讨论】:

        【解决方案5】:

        HTML 不支持带有复选框的下拉列表。您可以有一个下拉列表或一个复选框列表。您可以使用 javascript 和隐藏 div 来伪造一个下拉复选框列表,但这比标准复选框列表更不可靠。

        当然有看起来像下拉复选框列表的 3rd 方控件,但它们使用的是 div 技巧。

        您还可以使用双列表框,它通过在两个列表之间来回移动项目来处理多选。这有一个额外的好处是可以轻松地一次查看所有选定的项目,即使总项目列表很长

        (想象一下世界上每个城市的列表,只有第一个和最后一个被选中)

        【讨论】:

          【解决方案6】:

          我喜欢 Infragistics 控件。 WebDropDown 有你需要的东西。唯一的缺点是它们可能有点花钱。

          【讨论】:

            【解决方案7】:

            【讨论】:

            • 这篇文章被标记为垃圾邮件并被否决,但控件似乎很好而且它是免费的,所以它得到了我的赞成。也许 irfan 可以给你一些免费的技术支持来换取链接。 :)
            • 同意。这可能被许多人的 websense 过滤器阻止了,这是一件愚蠢的事情,当我可以解决重要问题时,我不得不花时间。
            【解决方案8】:

            这是一个很酷的 ASP.NET Web 控件,名为多选列表字段,位于http://www.xnodesystems.com/。它能够:

            (1) 多选; (2) 自动完成; (3) 验证。

            【讨论】:

              猜你喜欢
              • 2015-03-22
              • 2013-01-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-12-13
              • 2011-08-31
              • 1970-01-01
              相关资源
              最近更新 更多