![]() |
|
||||||||
|
|
Alojado en: Recomienda esta pagina a un amigo ![]() Servicios Gratuitos
Articulos relacionados
Enlaces recomendados |
Enviar datos entre páginasColaboración enviada por Pedro Moreno
Holas, tenia tiempo que les queria mandar este pequeño truco, pero apenas lo acabo de terminar. Lo que hace es demostrar como enviar cadenas de datos entre paginas sin usar variables de session, este truco lo encontre en una sitio famoso de ASP en ingles, pero lo adapte a mi problema, ya que el ejemplo que dan es estatico, y yo lo ocupaba dinamico. Se le muestra al cliente valores, que va escogiendo si asi lo desea. Y cada vez que presiona un boton, lo que hace el script es recoger que valores eligio el cliente, si es que tomo alguno, y agregarlos a un arreglo, para continuar mostrando mas datos hasta que se acaben o hasta que el cliente decida. Y estos datos se van almacenando y se van pasando entre el script para no perderse, y al final se desplegan. Es sencillo y ademas muy eficiente. Lo utilize para poder crear un sistema de examenes en linea, donde al cliente se le muestran las preguntas de que estan almacenadas en un base de datos, y el va eligiendo que reactivos Este pequeño truco que me encontre en uno de mis viajes a Internet me ayudo mucho como guia para poder codificar esta pequeña, pero util y eficiente tarea, que es la de poder pasar cadenas de datos entre paginas, sin la necesidad de utilizar ningun componente a nivel de session, por que segun dicen los que saben, no debemos abusar de la variables de session. Tenemos estas
variables que utilizo en el script GuardarDatos1.asp
Cuando el
cliente active alguno de ellos, nuestro script
le va a preguntar al objeto Request, si alguna de la casillas de verificacion
fue activada, si ese es el caso entonces vamos a agregarla a nuestro arreglo,
con este fragmento de codigo: Aqui TopeArray
sabe cual es la pocision del ultimo elemento agregado, y como los arreglos en
VB empiezan en cero, Contador sabe donde debe empezar. Aqui lo
que se hace es crear una variable de nombre ArrayDatAnt tipo Hidden,
que almacena muchos valores diferentes pero que todos tiene en comun el mismo
nombre, si esto lo ponemos de 1 en 1, tendriamos algo asi en nuestra pagina: Donde X,Y,Z, son los valores que contiene nuestro arreglo. Ahora cuando nosotros en nuestro script le pedimos el valor de la variable de nombre ArrayDatAnt al objeto Request, este separa los valores de la variable del mismo nombre con una coma "," no importa si usamos el metodo POST o GET, este amigo asi trabaja. Ahora si vemos en realidad como trae la cadena el objeto Request tendriamos algo asi: ArrayDatAnt=0,2,5,8,10,etc Por ello nos facilita la labor de poder quitar las comas que nos
llegan demas. Y ahora ¿como hacemos esto? La funcion Split, hace la labor de quitar el caracter deseado del arreglo que queramos, y nos retorna un arreglo limpio, solo conteniendo los valores que el cliente eligio, y se veria asi al salir de la funcion: ArrayDatAnt(0) = 0 Con este arreglo ya podemos sacar su indice maximo e indice minimo del arreglo usando las funciones LBound que nos dice cual es el indice minimo de nuestro arreglo y UBound nos dice cual es indice maximo del arreglo. En nuestro caso solo usamos la ultima funcion, asi quedaria el codigo que hace esto: TopeArray = UBound( ArrayDatAnt,
1 ) Por ello es importante esta funcion ya que nos dice el indice del ultimo elemento del arreglo y con ello podremos saber donde agregar el siguiente valor si es que hay, y eso es lo que hacemos en el Codigo 8. Una vez que el cliente decidio guardar los datos que lleva hasta
un determinado momento o si ya no hay mas datos, lo que hace el script
es primero que nada, checar si hay mas datos por agregar antes de salir de este
script, si es el caso los debe agregar al arreglo
del cliente, si no entonces el pregunta al arreglo si contiene datos para enviar,
si es el caso debe formatearlos para poder enviarlos, aqui utilizamos el metodo
GET. Como se puede ver en el codigo 9, lo que se hace para poder enviar todos los
datos contenidos en el arreglo, es concatenarlos en una sola cadena con un solo
nombre de variable. Si estiramos esta variable se observaria algo asi: Ademas si observan el Codigo9 Linea6, se elimina el ultimo caracter de la cadena, ya que va demas.Y otra vez de nueva cuenta, cuando recibamos la variable y todos sus campos debemos quitar las comas como en el codigo6 linea2, que es lo que hace el script DatosGuardados2.asp. Y por ultimo solo desplegamos los datos que el cliente ha elegido si es que eligio algunos. La salida del script se puede ver en la Figura2.
Ademas de eso si observan la barra de navegacion de su navegador podrian ver
todos los datos que se estan enviando en la variable ArrayFinal, esto
por que el metodo GET no esconde nada de información, pero como
les recuerdo, esto se puede hacer ya sea con el metodo POST o GET,
pero eso ya ustedes lo deciden.
Nota: Para cualquier consulta u opinión sobre este articulo puedes usar los foros
AspTutor lo hacemos entre todos ¿Como vas a colaborar hoy? |
Descargas
de manuales¦ Ejemplos
de código ¦ Artículos
mas visitados ¦ Envía
tu articulo ¦ Foros ¦ |
© 2001-Hasta hoy Pedro Rufo Martín contactar |
|