Каков наилучший способ обеспечить "поиск по мере ввода"? - PullRequest
2 голосов
/ 20 ноября 2008

Я портирую приложение Forms на веб-приложение VB.NET, и одной из функций, которая действительно понравилась пользователям, была возможность сузить возможные варианты, когда пользователь вводил в поле поиска. Сам поиск идет по нескольким таблицам и столбцам (и занимает несколько секунд), так что это не просто автозаполнение или что-то еще. Как лучше всего разрешить пользователю печатать и асинхронно обновлять ListView с совпадениями?

Ответы [ 3 ]

1 голос
/ 20 ноября 2008

Вы должны иметь возможность использовать элемент управления Dynamic Populate в AJAX Control Toolkit , чтобы выполнять большую часть работы.

1 голос
/ 20 ноября 2008

JQuery будет хорошим решением для фильтрации ListView на стороне клиента. Проверьте эту недавнюю статью и другую классную демонстрацию здесь

0 голосов
/ 21 ноября 2008

Проверьте элементы управления ASP.NET AJAX. Для автозаполнения есть специальный элемент управления:

Автозаполнение - это ASP.NET AJAX расширитель, который можно прикрепить к любому Элемент управления TextBox, и будет связывать этот элемент управления с помощью всплывающей панели отображать слова, которые начинаются с префикс набирается в текстовом поле.

Раскрывающийся список со словами-кандидатами предоставляется веб-службой расположен в левом нижнем углу текстовое поле.

В приведенном выше примере текстовое поле связано с AutoCompleteExtender, который тянет слова которые начинаются с содержания текстовое поле с помощью веб-службы.

Когда вы набрали больше контента, чем указанная минимальная длина слова, а всплывающее окно покажет слова или фразы начиная с этого значения. Кэширование включен, поэтому набирает тот же префикс несколько раз приводит только к одному позвоните в веб-сервис.

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AutoComplete/AutoComplete.aspx

Существует также элемент управления для поиска списков, как вы описали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...