根据OnKeyUp的文本框过滤ListBox项目?

时间:2010-10-27 09:32:18

标签: c# asp.net listbox

我有一个包含大量项目的ListBox,这些项目都是帐号,很难搜索。

当用户键入文本框时,是否可以将项目“过滤”,以便只显示与目前为止输入的内容相匹配的项目?

e.g。

  

列表框
  2342
  3434
  2332
  3224

用户然后在texbox中输入3 - onKeyUp将列表框过滤为仅显示:

  

文本框
  3

     

列表框
  3434
  3224

用户然后在框中输入2:

  

文本框
  32

     

列表框
  3224

这可能在ASP.Net(而不是MVC2)中吗? 如果是这样,最好通过UpdatePanel中的回调或somekind的javascript进行回调吗?

2 个答案:

答案 0 :(得分:3)

以下是一个示例解决方案

private void textBox1_TextChanged(object sender, EventArgs e)
  {
      listBox1.Items.Clear();
      List<String> lst = new List<string> {"2342","3434","2332","3224"};
      listBox1.Items.AddRange(lst.Where(X => X.StartsWith(textBox1.Text)).ToArray());

  }

还有一个

listBox1.Items.AddRange(listBox1.Items.Cast<String>().Where(X=>X.StartsWith(textBox1.Text)).ToArray());

答案 1 :(得分:1)

Jquery Listbox / Textbox filter中有一个jQuery实现,它可以帮助你入门,即使你不想使用jQuery。