Foros del Web » Programando para Internet » ASPX (.net) »

GridView, pasar varios parámetros a otra página con el HyperLinkField

Estas en el tema de GridView, pasar varios parámetros a otra página con el HyperLinkField en el foro de ASPX (.net) en Foros del Web. Hola a todos, tengo la sigte situación: Hay 2 páginas: lista.aspx y detalle.aspx, en lista.aspx muestro un GridView con los campos: codigo_cliente, fecha_desde, fecha_hasta, y ...
  #1 (permalink)  
Antiguo 06/06/2008, 00:00
 
Fecha de Ingreso: agosto-2003
Mensajes: 448
Antigüedad: 20 años, 8 meses
Puntos: 1
GridView, pasar varios parámetros a otra página con el HyperLinkField

Hola a todos, tengo la sigte situación:

Hay 2 páginas: lista.aspx y detalle.aspx, en lista.aspx muestro un GridView con los campos: codigo_cliente, fecha_desde, fecha_hasta, y en detalle.aspx muestro el detalle haciendo una consulta con los parámetros codigo_cliente, fecha_desde y fecha_hasta.

Para pasar un parámetro con query string desde lista.aspx a detalle.aspx, agrego un HyperLinkField al GridView, con las propiedades: DataNavidateUrlFields = "codigo_cliente" y DataNavigateUrlFormatString = "detalle.aspx?codigo_cliente={0}".

Pero si le asigno: DataNavidateUrlFields = "codigo_cliente, fecha_desde, fecha_hasta" y DataNavigateUrlFormatString = "detalle.aspx?codigo_cliente={0}&fecha_desde={1}&f echa_hasta={2}", no me funciona porque al acceder a la página no funciona como un link, sólo me muestra el texto como un label.

Cómo puedo pasar varios campos de una fila de un GridView a otra página?.
  #2 (permalink)  
Antiguo 09/06/2008, 17:33
 
Fecha de Ingreso: agosto-2003
Mensajes: 448
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

Problema resuelto.

He utilizado un ButtomField, asignandole un nombre en la propiedad CommandName del mismo (por ej.: "MostrarDetalle"), y en el evento RowCommand del GridView:

if(e.CommanName == "MostrarDetalle")
{
int index = Convert.ToInt32(e.CommandArgument);
GridView selectedRow = ((GridView)e.CommandSource).Rows[index];
Session["codigo_cliente"] = selectedRow.Cells[0].Text;
Session["fecha_desde"] = selectedRow.Cells[1].Text;
Session["fecha_hasta"] = selectedRow.Cells[2].Text;
Server.Transfer("detalle.aspx");
};

Y en detalle.aspx realizo la consulta usando las variables de Session
  #3 (permalink)  
Antiguo 09/06/2008, 20:00
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

Te voy a dar un consejo y vos hace lo que quieras luego ok....

Abusar de variables de sesion es muy inficiente.

En tu caso yo pasaria los parametros en la url....

Server.Transfer("detalle.aspx?Cod=" & selectedRow.Cells[0].Text
& "&FecDes=" & selectedRow.Cells[1].Text &....);
  #4 (permalink)  
Antiguo 10/06/2008, 03:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

Pasar los parametros por la url, es poco seguro, ya que si pasas algun codigo, todo se ve en la @.
Alguien sabe como pasar parametros a otra pagina en un gridview que no sea session ni viewstate?

Y por post yo lo he intentado de esta manera: http://netcodigo.webinfo.es/2006/10/10/pasar-datos-entre-paginas-web-asp-net-20/
pero no me va porq no puedo acceder a los campos del grid...........

Alguien sabe alguna solucion???

Gracias de antemano
  #5 (permalink)  
Antiguo 10/06/2008, 07:03
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

Eso es verdad si, tampoco vas a pasar parametros muy importantes, pero si queres ranquear en google (en lo que se llama SEO "Optimización para Motores de Búsqueda") vas a tener que usar los parametros por url Google no te encuentra nunca.

Saludos.
  #6 (permalink)  
Antiguo 11/06/2008, 03:27
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

(A ver si no digo una burrada) Por post deben de llegar los parametros. Solo es cuestion de que vayas probando a ver donde se queda perdido la referencia al control, pero los controles metidos dentro de un fomrulario con post deberian ser accesibles en el formulario al que haces post. Por ejemplo, si los controles estan en un grid tendras qeu referenciar un control como:

Grid.row(index).item(index).findcontrol("Nombre")

Saludos
  #7 (permalink)  
Antiguo 19/06/2008, 09:07
Avatar de PeLiCaNo81  
Fecha de Ingreso: octubre-2007
Mensajes: 30
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

gracias por la clase de hoy

saludos.
  #8 (permalink)  
Antiguo 04/08/2009, 14:53
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

Cita:
Iniciado por victork_py Ver Mensaje
Problema resuelto.

hola tengo el mismo problema, solo k no se como recoger los datos en la pagina detalle, los datos del grid view quiero mostrarlos en textbox en mi pagina detalle, por favor ayuda...

He utilizado un ButtomField, asignandole un nombre en la propiedad CommandName del mismo (por ej.: "MostrarDetalle"), y en el evento RowCommand del GridView:

if(e.CommanName == "MostrarDetalle")
{
int index = Convert.ToInt32(e.CommandArgument);
GridView selectedRow = ((GridView)e.CommandSource).Rows[index];
Session["codigo_cliente"] = selectedRow.Cells[0].Text;
Session["fecha_desde"] = selectedRow.Cells[1].Text;
Session["fecha_hasta"] = selectedRow.Cells[2].Text;
Server.Transfer("detalle.aspx");
};

Y en detalle.aspx realizo la consulta usando las variables de Session
  #9 (permalink)  
Antiguo 22/03/2012, 16:32
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: GridView, pasar varios parámetros a otra página con el HyperLinkField

ese problema lo solucione pasando solo el id por la url


~/EditarCliente.aspx?id={0}

despues obtengo el id en una variable

Me.ids = Request.QueryString("ID")

obtengo todos los demas datos con un getCliente(Me.ids)

y mandar los datos obtenidos a cada textbox del formulario

Me.txtIdCliente.Text = odtClientes(0).IdCliente
Me.txtNombre.Text = odtClientes(0).Nombre.Trim
Me.txtCiudad.Text = odtClientes(0).Ciudad.Trim
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.