根据OnKeyUp的文本框过滤ListBox项目?
我有一个包含大量项目的ListBox,这些项目都是帐号,因此难以搜索。
当用户键入文本框时,是否可以将项目“过滤”,以便只显示与目前输入的内容相匹配的项目?
例如
列表框
2342
3434
2332
3224
然后用户在texbox中输入3 – onKeyUp将列表框过滤为仅显示:
文本框
3列表框
3434
3224
然后用户在框中输入2:
文本框
32列表框
3224
这在ASP.Net(而不是MVC2)中是否可行? 如果是这样,最好通过UpdatePanel中的回调或somekind的javascript进行回调吗?
这是一个示例解决方案
private void textBox1_TextChanged(object sender, EventArgs e) { listBox1.Items.Clear(); List lst = new List {"2342","3434","2332","3224"}; listBox1.Items.AddRange(lst.Where(X => X.StartsWith(textBox1.Text)).ToArray()); }
还有一个
listBox1.Items.AddRange(listBox1.Items.Cast().Where(X=>X.StartsWith(textBox1.Text)).ToArray());
在Jquery Listbox / Textboxfilter中有一个jQuery实现,即使你不想使用jQuery,它也可以帮助你入门。