miércoles, 21 de enero de 2009

Autcompletar textbox con AJAX para búsquedas

Encontré algo bien didáctico y útil a la vez que por el momento anda un poco de moda y es relativamente nuevo que son las búsquedas tipo "intellisense" o "code completion" que tienen las herramientas de desarrollo para facilitar la codificación propiamente, en este caso para buscar algún texto.

Los pasos son utilizar el control de ajax toolkit llamado AutoCompleteExtender:

asp:TextBox ID="txtFiltro" runat="server">
TargetControlID="txtFiltro" MinimumPrefixLength="1" ServiceMethod="GetNames">




En donde ServiceMethod es el método utilizado para realizar la búsqueda y la misma se hace a través de un webmethod de un webservice, como el que sigue:

[System.Web.Services.WebMethod]
public static string[] GetNames(string prefixText, int count)
{
dbDataContext db = new dbDataContext();
return db.Countries.Where(n => n.Nombres.StartsWith(prefixText)).OrderBy(n => n.Nombres).Select(n => n.Nombres).Take(count).ToArray();
}



Seguidamente a través de este link hay un ejemplo detallado de como utilizar:

http://www.dbtutorials.com/advanced/ajax-sql-autocomplete-cs.aspx

Saludos.

1 comentario:

  1. Sip, y lo genial es q podes mostrar informacion avanzada dentro de la lista q desplaza pq podes manejarla.
    Ponele q estas en una cajita de busqueda de usuarios y abajo podes mostrar no solo el texto sino tambien su foto, su ultimo estado, su ultimo comentario.
    Es bastante genial si le das un par de detalles extras.
    Aunq en c# ya no se como seria la verdad... lo usaba pq no me quedaba otra nomas en mi epoca netvisionana :D

    ResponderEliminar