ASP.NET中的多选下拉列表

时间:2009-04-21 21:01:32

标签: c# asp.net web-controls

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

非常感谢

8 个答案:

答案 0 :(得分:35)

您可以使用System.Web.UI.WebControls.CheckBoxList控件或使用System.Web.UI.WebControls.ListBox控件并将SelectionMode属性设置为Multiple

答案 1 :(得分:27)

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

alt text
(来源:googlecode.com

答案 2 :(得分:6)

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

答案 3 :(得分:3)

我在http://dropdowncheckboxes.codeplex.com/使用了开源控件,对此非常满意。我的补充是允许一个已检查文件列表只使用文件名而不是完整路径,如果'selected'标题太长。在回发处理程序中调用我的添加而不是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();
} 

答案 4 :(得分:1)

HTML不支持带复选框的下拉列表。您可以拥有下拉列表或复选框列表。您可以使用javascript和隐藏div来伪造dropdowncheckbox列表,但这不如标准复选框列表那么可靠。

当然第三方控件看起来像一个下拉复选框,但他们正在使用div技巧。

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

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

答案 5 :(得分:1)

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

答案 6 :(得分:1)

答案 7 :(得分:0)

这是一个很酷的ASP.NET Web控件,在http://www.xnodesystems.com/处称为多选列表字段。它有能力:

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