Blogalia

"En el arte marcial como en la vida diaria. En la vida diaria como en un arte marcial."

Aikido

Sígueme en Twitter

<Diciembre 2024
Lu Ma Mi Ju Vi Sa Do
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          


Todas las Historias

VELOCIDAD DE ESCAPE

Inicio > Historias > AUTOCOMPLETADO AJAX EN DOS PATADAS

2008-06-18

AUTOCOMPLETADO AJAX EN DOS PATADAS

Como es evidente, con Visual Studio 2008. Tras seguir los pasos de esta entrada anterior donde se indica cómo tener funcionando el Ajax Control Toolkit, tras añadir el textbox hemos de añadir un ScriptManager. El código de nuestro formulario queda más o menos así:

  <form id="form1" runat="server">

    
<div>

        
<asp:ScriptManager ID="ScriptManager1" runat="server">

        
</asp:ScriptManager>

         
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

         
<br />

<
cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"

            TargetControlID
="TextBox1"

            ServicePath
="ListaDeClientes.asmx" 

            CompletionInterval
="10"

            CompletionSetCount
="10"

            ServiceMethod
="ObtenerClientes"

            MinimumPrefixLength
="1" />

        </
div>

    
</form>



Añadimos un servicio web al proyecto que va a alojare la lógica que nos devuelve los datos. En este caso el origen puede ser muy variado, tanto como se nos ocurra, pero yo me decanto por lo que en principio es más lógico: la devolución de una serie de datos de una base de datos SQL Server en función del los valores introducidos en el textbox.

Importante a tener en cuenta es que el ServidePath del AutoCompleteExtender en la página Default.aspx tenga el valor del servicio web que hemos creado y ServiceMethod apunte al WebMethod dentro del mismo que nos va a devolver los datos.

También es importante que el Servicio Web referencie el ScriptService tal y como sigue para poder funcionar. De otro modo no lo hará.
  
[System.Web.Script.Services.ScriptService] 

Solamente queda añadir el WebMethod correspondiente dentro de nuestro Servicio Web para obtener los datos. Un ejemplo muy sencillo y básico:


 [WebMethod]

    
public string[] ObtenerClientes(string prefixText)



    {

        
int count 10;

        string 
sql "Select * from clientes Where apellidos like @prefixText";

        
SqlDataAdapter da = new SqlDataAdapter(sql, "Data Source=miservidor;Initial Catalog=mibasededatos;User Id=miusuario;Password=miclave;");

        
da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value prefixText + "%";

        
DataTable dt = new DataTable();

        
da.Fill(dt);

        string
[] items = new string[dt.Rows.Count];

        int 
0;

        foreach 
(DataRow dr in dt.Rows)

        {

            items.SetValue(dr[
"NOMBRE"].ToString() + ' ' + dr["apellidos"].ToString(), i);

            
i++;

        
}

        
return items.ToArray()

    



Lo bueno, si breve, dos veces bueno.


Gracias a Code Colorizer de: CarlosAg

Programación | jomaweb | 3 Comentarios | Enlace


Referencias (TrackBacks)

URL de trackback de esta historia http://jomaweb.blogalia.com//trackbacks/58071

Comentarios

1
De: Anónimo Fecha: 2008-06-18 16:26

"Como es evidente, con Visual Studio 2008". O con Ruby on Rails. O con cualquier otro framework que traiga ese tipo de generadores de javascript.



2
De: Quickbooks support Fecha: 2019-04-23 07:10

andheri escorts
roku remote not working
content marketing company
Dell printer support
norton.com/setup
Yahoo Customer Service Number
Garmin update
mcafee.com/activate
quickbooks error 3371
activate ESPN on Roku
Quickbooks support
www.roku.com/link
office.com/setup
quickbooks error 3371
roadrunner support
escorts web development company
web development company in india
download McAfee Antivirus
Download free php projects
classified website without registration
fix quickbooks error 3100
fix quickbooks error 2000
call girls in mumbai
Mumbai Escorts
Goa Escorts
mumbai escorts
Mumbai call girls
Mumbai Escorts
hotmail support
gmail support
microsoft helpline number
reset aol password



3
De: espn.com/activate Fecha: 2019-11-04 10:53

best web hosting
roku.com/link
roku.com/link
espn.com/activate
mcafee.com/activate
espn.com/activate
garmin updates
Dell printer customer service
xfinity.com/activate
pbs.com/activate