ASP.NET - Búsqueda dinámica en una tabla de SQL al ingresar el dato de un campo en un textbox en ASP.NET

   
Vista:

Búsqueda dinámica en una tabla de SQL al ingresar el dato de un campo en un textbox en ASP.NET

Publicado por Maximiliano Nicolás (23 intervenciones) el 21/08/2014 02:45:00
Hola, mi consulta es la siguiente: Quisiera que se realice una consulta automáticamente en una base de datos SQL al ingresar un dato en un textbox, sin necesidad de ingresar de hacer click a un boton para realizar dicha consulta... La idea es ingresar un numero de documento y que a medida que ingreso un digito del documento me haga una búsqueda automática en la tabla de la base de datos SQL.. Hace poco que estoy en el mundo ASP.NET y C# y la verdad busqué por diferentes lugares y no conseguí ver alguna forma de resolver el problema. Estuve tratando de buscar información sobre Javascript y SQL, de conectar mediante funciones en javascript a la tabla de SQL en ASP.NET, pero no encontré respuestas. No sé si se puede conectar javascript con las tablas de SQL directamente en ASP.NET, si se falicitan las cosas utilizando las librerias jquery y ajax (librerias que no conozco por que solo sé javascript básico) o si hay que hacer algun tipo de conexión entre javascript y el código c#, no me doy cuenta por la poca experiencia que tengo... Si alguien me puede guiar se lo voy a agradecer.

saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Búsqueda dinámica en una tabla de SQL al ingresar el dato de un campo en un textbox en ASP.NET

Publicado por Francisco Jaiver (11 intervenciones) el 27/08/2014 12:40:39
Hola,

Necesitas solicitudes Ajax, esto es una conexión asíncrona al servidor, el servidor responde por ejemplo con JSON y tu tomas la respuesta en JavaScript y ya puedes realizar la modificación que necesites por ejemplo mostrar un listado de los resultados de la búsqueda que te envía el servidor. Aquí tienes que tener en cuenta, que entre solicitudes debes dejar un tiempo (unos milisegundos, porque sino volverías loco el servidor). También debes limitar la respuesta del servidor, es decir por ejemplo si alguien busca un documento, no muestres todos los documentos que coincidan por ejemplo los 10 primeros. Porque sino te traerías mucha información y verías que tardaría mucho en responder.

Si estas comenzando, este tema ya es un poco avanzado pero tampoco creas que es muy complicado, pero si debes tener claro como funciona las solicitudes Ajax, por ejemplo en JQuery es muy sencillo, busca $ajax hay muchos ejemplos de como funcionan, solo debes tener en cuenta la url que vas a enviar tu solicitud y los datos que necesitas enviarle al servidor para que haga la consulta, en tu caso, es sencillo solo lo que escribe el usuario es lo que envías.

Si tienes tienes mas dudas yo te respondo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Búsqueda dinámica en una tabla de SQL al ingresar el dato de un campo en un textbox en ASP.NET

Publicado por Maximiliano Nicolás (23 intervenciones) el 27/08/2014 19:09:48
Muchas Gracias por la respuesta Francisco! Después de buscar mucho y ver varios ejemplos utilicé el control Autocomplete Extender del ajax toolkit, pero sin crear un webservice.. Adapté el código y funcionó.

Nuevamente te agradezco la respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Búsqueda dinámica en una tabla de SQL al ingresar el dato de un campo en un textbox en ASP.NET

Publicado por Ivetushka (1 intervención) el 11/11/2015 22:06:35
hola Maximiliano Nicolás, podrias colocar tu solucion porfavor? estoy intentando hacer lo mismo :D mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Búsqueda dinámica en una tabla de SQL al ingresar el dato de un campo en un textbox en ASP.NET

Publicado por CRISTIAN A. PEREIRA (65 intervenciones) el 29/08/2014 00:32:03
Hola, se puede hacer utilizando los controles ajax de net framework 3.5 o superior.

Tu textbox debes agregarlo dentro de un updatepanel ajax control puedes visitar (http://www.codeproject.com/Articles/401903/AJAX-for-Beginners-Part-Understanding-ASP-NET-AJ) para mayor comprensión.

En el control textbox debes trabajar con el evento TextChanged este evento gatilla un postback cada ves que se escribe o elimina un carácter, en el método que controle este evento en tu pagina .cs haces tu llamada a la BD y llenas tu grilla, tu grilla también debe estar dentro de tu update panel.

Ahora hablando de rendimiento lo que deseas hacer solo se recomienda cuando los datos a recuperar son pocos, si el filtro recupera una gran cantidad de datos cada ves que hay un cambio en el textbox la cantidad de recursos que va a utilizar el navegador (memoria y procesador) van a hacer que tu pagina no trabaje como esperabas (rápida) y vas a saturar el servidor con conexiones a BD.

Es muy probable que tengas experiencia en desarrollo de aplicaciones de escritorio donde lo que tu deseas hacer es muy común, pero en entorno web es diferente y mientras menos acceso a los datos tengas (abrir y cerrar una conexión a la BD) tu aplicación sera mas eficiente.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar