OK, es que pense que meter codigo igual iba a ser mucho, ahi va
Recordemos que:
(1) = pagina asp que crea la grafica, genera la consulta sql y la guarda en sesion
** El sql ta feo pero es que no lo hice yo :D, y por ahora no es prioridad que quede lendo
Código:
<!--#include file="comunes/$template.asp"-->
<!--#include file="comunes/$funcionesControl.asp"-->
<%
if Session("control")="" then
Response.Redirect "sesion_terminada_inc.asp"
end if
iniciaAdmin "Campus " & session("nombre_campus"), empty
sql = "SELECT Nombre, Descripcion, fecha_inicio, fecha_termino, id_capacitacion" _
& " FROM tbl_Capacitacion, tbl_Curso" _
& " WHERE tbl_Curso.ID_curso = tbl_Capacitacion.Id_curso" _
& " AND tbl_Capacitacion.Id_empresa ="& session("ID_campus")
session("sql_funct") = sql
funcion = "generaLista"
url = "comunes/$procesos.asp"
' -------------------------------------------------------------------------------------
' ------------------------------------------------------------------------------------- %>
<div id="div-contenido"></div>
<script language="javascript">obtieneHTML('<%=url%>', '<%=funcion%>', 'div-contenido');</script>
<input type="hidden" name="sql">
<input type="hidden" name="accion" /><%
' -------------------------------------------------------------------------------------
' -------------------------------------------------------------------------------------
finalizaPagina
%>
(2) Funcion ajax (obtieneHTML) que llama al asp que despliega los datos, en mi caso utilizo la API Prototype
(3) Archivo que recibe la consulta sql desde sesión y despliega los datos
Código:
<!--#include file="$funcionesControl.asp"-->
<!--#include file="$template.asp"-->
<%
ejecutar = request("ejecutar")
select case ejecutar
case "generaLista":
openDatabase myconn
if ( rsOpen(rs, myconn, session("sql_funct")) ) then
tblRegistros = rs.getRows()
'-----------------------------------------------------------
'--- EJECUTO LA FUNCION PARA CREAR LA GRILLA
'-----------------------------------------------------------
generaLista tblRegistros
else
'--------------------------------------------------------------------------------------------------------
'--- SI NO ENCONTRÓ DATOS ENTONCES MUESTRA LA CABECERA
'--------------------------------------------------------------------------------------------------------
listaVacia
end if
rsClose(rs)
'------------------------------------------------------------------------
end select
%>
(4) Otra página que genera gráfica y genera una nueva consulta sql y la guarda en sesión. También llama a un ajax (5) que a su vez llama al aso que genera la lista (6), en realidad (6) y (3) son el mismo archivo, sólo le doy números diferentes para efectos de claridad.
Y eso seria, el problema está en que después de pasar a (4), cuando llamo a (1) con el botón "Atrás" en (3) se sigue tomando el sql creado en (4) y no el que corresponde que seria el creado en (1)
Saludos y muchas gracias por la ayuda,
Rodrigo