Comunidad .NET de Cd. Juárez

Más que un foro virtual. Más que preguntas y respuestas. Somos una comunidad
que se ayuda para producir desarrolladores profesionales de alto rendimiento.
Welcome to Comunidad .NET de Cd. Juárez Sign in | Join | Help
in Search

Insertar un nuevo registro en GridView/Consulta de página

Last post 06-05-2008, 5:05 PM by Nestor. 2 replies.
Sort Posts: Previous Next
  •  06-05-2008, 11:01 AM 1449

    Insertar un nuevo registro en GridView/Consulta de página

    a) En mi aplicación Web tengo un GridView para el mantenimiento de los datos: Todos los botones de comandos funcionan, excepto el de agregar nuevo registro. Podrían ayudarme.

    b) Al agregar un registro nuevo, en el campo de clave de usuario requiero que se consulte una página que devuelve información del usuario autorizado ( Nombre, e-mail, teléfono...). Dicha página no es un Web Service y la petición se envía como GET (no la diseñe yo): http://xempresa/tools/xUser?id=wsxdrt&Mail en este caso devolvería: justine.case@funny.com, así con cada parámetro y que llene los campos correspondientes en el registro recién creado. Sin embargo: La opción que conozco es manejar la petición con AJAX desde el cliente, pero después cómo la envío al servidor para actualizar los campos, debido a que el DataView corre del lado del servidor?.

     

    Tongue Tied

    Filed under:
  •  06-05-2008, 11:45 AM 1450 in reply to 1449

    Re: Insertar un nuevo registro en GridView/Consulta de página

    Qué rollo, Nestor--

    Respecto a a) hay varias formas de hacerlo.  Está medio en chino explicarlo así rápido, preo es relativamente sencillo.  Yo normalmente hago la edición de la información a través de un DetailsView atado al registro seleccionado en el GridView, precisamente para no pelearme con eso, pero también se puede hacer desde el GridView.  De hecho en el último taller Horacio hizo un ejemplo de eso precisamente.  No recuerdo ahorita todos los detalles pero jalaba... por ahí debe estar la solución de ese taller en la sección de Descargas, aunque no estoy seguro si se subió...

    ¿Horaciooooo? Si andas por aquí, ¿podrías agrandar atender esta duda?

    Respecto a b)  Hay una clase basicotota del framework que te podría servir WebRequest. Esta clase te sirve para... duh... hacer una request de web Stick out tongue  La puedes utilizar para ejecutar la petición contra un URL y leer la respuesta, que parece que es lo que quieres hacer.

    Ahora que si te quieres poner bien nice, pues yo recomendaría hacer un servicio de WCF en .NET 3.5.  En el evento del lanzamiento de VS2008 que acabamos de tener, uno de los demos que hice precisamente trataba sobre servicios REST (que son como el tipo que tu mencionas, a base de GETs).  Puedes hacer un servicio de WCF que consuma el servicio REST y te dé una capa más controlada dentro de tu aplicación, sobretodo para manejar posibles excepciones y cosas así--acuérdate que una de las premisas de los servicios es que no debes asumir que son confiables.

    En fin, esto puede darte algunas ideas.  Espero te sirvan.


    Diario de un Dotnetero
  •  06-05-2008, 5:05 PM 1453 in reply to 1450

    Re: Insertar un nuevo registro en GridView/Consulta de página

    Carlos:

         Muchas gracias por tu colaboración. Con respecto al punto b ( solucionado con la clase WebRequest). Funcionó muy bién. Aquí está el código por si le sirve a alguien más:

    string id; //Guarda el valor del id del usuario...en alguna parte del código anterior...

    .....
    string uri="http://xempresa.com/xuser.aspx?id="+id+"&info=Mail' ;
    WebRequest request = WebRequest.Create(uri);
    request.Credentials = CredentialCache.DefaultCredentials;
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);
    string responseFromServer = reader.ReadToEnd();
    lUsr.Text = responseFromServer;

         Para el caso de la inserción del registro nuevo... voy a necesitar más ayuda !Embarrassed. Lo que logré hasta este momento fue la inserción de un registro con los valores default con SqlDataSource, pero directamente en la base; no me permite crear un registro vacío y tenerlo en modo de edición para llenarlo con los datos del WebRequest. La idea básica es que el usuario teclee sólo el ID para dar de alta y con el WebRequest obtener los valores de los campos restantes y evitar errores en la captura de información.

    Gracias!

    Filed under:
View as RSS news feed in XML
Powered by Community Server (Personal Edition), by Telligent Systems