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...