Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/04/2007, 17:49
Avatar de zacktagnan
zacktagnan
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Capturar la página del DataGrid recorrida

Pues, ya lo he resuelto. Bueno, eso parece...

Así es como lo he solucionado.

En el archivo del DataGrid, en el vínculo para ir la página de detalle, en la parte de código, a través del método pagina_recorrida(), se recoge el número de página recorrida en el DataGrid. Número que se pasa como parámetro QueryString en el href del vínculo mencionado:

Código:
	protected string pagina_recorrida()
	{
		string la_pag_DG = (lista_DataGrid.CurrentPageIndex).ToString();
		return la_pag_DG;
	}
en el HTML
Código:
	<a href="detalle.aspx?idprod=<%# DataBinder.Eval(Container.DataItem, "prod_id")%>&pag_lista=<%# pagina_recorrida() %>"

En la página de detalle, para el vínculo de [Volver] al listado del DataGrid, se pasa de nuevo el valor que llegó como QueryString de la misma manera:

Código:
Response.Redirect("listaProductos.aspx?pag_lista=" + Request.QueryString["pag_lista"]);
Entonces, en la página del listado a través del DataGrid, para los casos en los que se quiera cargar un número de página concreto, se hace lo siguiente en el PageLoad de la parte de código:
Código:
protected string vpag_DG;

private void Page_Load(object sender, System.EventArgs e)
{
	...

	if (!Page.IsPostBack) 
	{
		if(Request.QueryString["pag_lista"] != null)
		{
			vpag_DG = Request.QueryString["pag_lista"];
			//POSICIONANDO EL DataGrid EN UNA PÁGINA DETERMINADA
			listPelis_DG.CurrentPageIndex = int.Parse(vpag_DG);
		}
		//para cargar el DataGrid
		actualizar_Listado();//llamada solo la primera vez
	}
Y ya está. Para todo el que le pueda interesar...
__________________
Saludos,

zacktagnan.
=================================================