2010-03-03 5 views
4

J'utilise asp.net C# 2008, et j'ai besoin de créer un champ de recherche qui affichera des valeurs déroulantes (similaire à google search); Les valeurs affichées dans la liste déroulante seront des valeurs de la base de données SQL 2005 (exemple: l'utilisateur recherche FirstName, le dropdown affiche tous les prénoms, qui sont filtrés lorsque l'utilisateur saisit plus de lettres .... si l'utilisateur recherche LastName, la liste déroulante affiche toutes les valeurs LastName dans la base de données .. etc)Google like menu déroulant lorsque l'utilisateur recherche

Toutes les idées comment faire?

Répondre

7

Vous êtes à la recherche d'un comportement automatique complet pour vous. Je suggère d'utiliser une solution plugin jQuery prêt.

http://docs.jquery.com/Plugins/Autocomplete

+1

C'est la solution que j'ai utilisée pour cette instance - impliquée dans le client avec un back end C# retournant la liste d'objets JSON. +1 –

0

javascript est votre réponse. environ 150 ms après un coup de clé, envoyez une requête à votre site Web pour les valeurs correspondantes. Soyez prêt à le supprimer si l'utilisateur tape une autre lettre. Très peu de valeur en essayant de répondre après chaque frappe.

0

Il n'y a pas de contrôle serveur intégré pour cela. Vous devriez implémenter le vôtre.

Jetez un oeil à JQuery AutoComplete brancher et essayer de le mettre en œuvre avec Ajax callbacks.

1

Cette solution est spécifique à ASP.NET. Microsoft l'a implémenté dans Ajax Control Toolkit (contrôle de saisie semi-automatique). Voici exemple de travail se:

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

Mais assurez-vous de comprendre comment il fonctionne à l'intérieur (en utilisant Ajax appels), ne pas simplement utiliser aveuglément le contrôle.

+0

Le contrôle ajax dans le lien ci-dessus est assez lent (par rapport au site google); – user279521

+0

Il y a peu de raisons à cela. Il y a une certaine surcharge de Ajax Control Toolkit, donc vous payez pour la simplicité d'utilisation par la lenteur du code MS. Et aussi la vitesse dépend des paramètres du serveur, de l'algorithme, de la mise en cache, etc. Vous ne pouvez pas simplement comparer par un premier coup d'oeil. – Vitaly

2

Je recommande de vérifier la mise en œuvre du contrôle ASP.NET AJAX Toolkit si le AutoComplete control. Une fois la boîte à outils installée, vous pouvez étendre le contrôle ASP WebForm TextBox standard pour l'utiliser.