Foros del Web » Programando para Internet » ASP Clásico »

Pasar Variables de Una Pagina a Otra. La cadena pasada se trunca.

Estas en el tema de Pasar Variables de Una Pagina a Otra. La cadena pasada se trunca. en el foro de ASP Clásico en Foros del Web. Buenas Tardes ... Estoy montando una paginación, intento pasar la información del select a la siguiente o anterior página en la URL pero la sentencia ...
  #1 (permalink)  
Antiguo 19/04/2003, 13:09
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Pasar Variables de Una Pagina a Otra. La cadena pasada se trunca.

Buenas Tardes ...

Estoy montando una paginación, intento pasar la información del select a la siguiente o anterior página en la URL pero la sentencia pasada se trunca a partir del primer espacio. Es decir, en la primera página de la paginación monto el enlace a la siguiente de esta forma:

Response.Write("<A HREF=pagina.asp?pagina=" + PaginaActual + "&consulta=\'" +sql+ "\'>5 Siguientes</A>");

Por un lado, cuando me posiciono con el cursor sobre el enlace, ya se encuentra truncada, es decir, el enlace mostrado en la barra de estado del explorador sería:

http://www.misitio.com/pagina.asp?pagina=2&consulta='Select

Por otro lado, viendo el código fuente de la página observo que el enlace está montado bien, es decir:

http://www.misitio.com/pagina.asp?pagina=2&consulta='Select * from mitabla where campo1=valor1 and campo2=valor2'

¿Cómo podemos solucionar este problema, si es posible?

Salu2.

Última edición por evoarte; 19/04/2003 a las 13:26
  #2 (permalink)  
Antiguo 19/04/2003, 15:26
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 1 mes
Puntos: 7
Reemplaza los caracteres en blanco por %20 al enviar y viceversa al recibir
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 19/04/2003, 17:05
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Buena Idea,

Pero, no me reconoce el espacio en blanco:

sql = sql.replace(/" "/g,"%20");

Me sigue ocurriendo lo mismo.

Salu2.
  #4 (permalink)  
Antiguo 19/04/2003, 17:50
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
te recomiendo que pases tus variables por el metodo post y no por el get...asi te ahorras los problemas de los espacios en blanco y demases...

sino encodea la url antes de enviarla
  #5 (permalink)  
Antiguo 19/04/2003, 18:50
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Buenas ...

He optado, de momento , por utilizar el encode, al enviar (URLEncode) y al recibir(HTMLEncode).

En la primera página de resultados, el enlace que se monta para avanzar <siguiente> es correcto:
http://www.misitio.com/pagina.asp?pagina=2 &consulta=select+* +from+mitabla

Sin embargo, en la segunda página de resultados no lo es:
http://www.misitio.com/pagina.asp?pagina=3 &consulta=select+%2A +from+mitabla

¿A que puede ser esto debido?

Salu2.

Última edición por evoarte; 19/04/2003 a las 18:52
  #6 (permalink)  
Antiguo 19/04/2003, 19:08
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
No entiendo tu problema fijate en esto.

recoge.asp
<%
datos=request("datos")
response.write(datos)
%>

Ahora ejecuta la pagina con este comando:
recoge.asp?datos=en un lugar de la mancha

Te deberia de recoger toda la cadena en un lugar de la mancha , aunque en la barra de direcciones te cambie los espacios por su correspondiente ASCII %20
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #7 (permalink)  
Antiguo 19/04/2003, 20:15
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Hola,

Seguro que alguien ha tenido el mismo problema alguna vez, ¿la única solución es utilizar el método POST y no GET?.

Salu2.
  #8 (permalink)  
Antiguo 19/04/2003, 20:23
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Si pasas las variables mediante QUERYSTRING no tienes problemas con los formularios, salvo que sean muchos campos a pasar es una opcion muy sencilla y rapida
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #9 (permalink)  
Antiguo 21/04/2003, 12:18
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 10 meses
Puntos: 2
Hola ...

He desistido en utilizar QueryString para mi propósito. Aplicando URLEncode, a la cadena de la sentencia:

sqlencode = Server.URLEncode (select * from mitabla);

los espacios en blanco se sustituyen por el carácter +. Sin embargo, me da problemas al aplicar HTMLEncode para transformar los caracteres + por espacios. Teniendo en cuenta que esta cadena la voy pasando varias veces durante la paginación, llega un momento que el carácter * se transforma en %2A, como indicaba en un mensaje anterior.

Por lo tanto, he optado por construir un formulario con campos ocultos y enviar los valores iniciales del formulario de la consulta, en lugar de la sentencia construida en la página inicial de la paginación.

Gracias.Salu2.
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 00:39.