CLR: .Net / Mono / Boo / Otros CLR > ASP .NET
Paso De Vairables Entre Forms
sergiotarrillo:
Hola carlos_lue!
Lo que hace el objeto Session es almacenar objetos, si queres almacenar un arreglo solo tenes que hacer esto:
Session("myVar") = miArreglo
y de ahi lo recuperas igual, lo que tienes qeu considerar es el intercambio de tipos....
saludos......
Güorker:
Hola de nuevo,
Serghio te lo ha explicado bien. Para meter el Array como variable de sesion se hace igual que cualquier variable. Pero a la hora de recuperarlo, tendrias que hacer un casting (¿se dice asi no?), ya que se almacena como object en la variable de sesion.
EN visual Basic no se como se haría, pero en C# se haria asi:
--- Código: Text --- string[] array = (string[])Session["variable"];
Bueno, espero que te sirva y consigas lo que pretendes.
Saludos
sergiotarrillo:
--- Citar ---hacer un casting (¿se dice asi no?), ya que se
--- Fin de la cita ---
o sabia que se decia conversion cast, pero suena bien casting :jumpie:
Moy:
Hm... Por ahí leí que si las cookies estaban desactivadas, Session no se podía utilizar.
No sé hasta que punto será verdad, pero prefiero curarme en salud.
Respecto al paso de variables tengo una duda que seguro que es bastante tonta (como todas las que te tienen horas dando vueltas a la misma linea de código con ganas de ahorcarte con el ratón inalámbrico)
Bien, tengo que pasar una direccion de una imagen de un webform a otro para que en el ultimo se me muestre en un objeto image.
La direccion de la imagen está en un Repeater, accesible mediante:
<%# DataBinder.Eval(Container.DataItem, "URL") %>
Gracias al codigo que me dio Güorker en otra seccion, abrir la nueva página está chupado.
--- Código: Text --- <script LANGUAGE="JavaScript">function url() {hidden = window.open('ampliacion.aspx?URL=PROBLEMA','miFoto','dialogHeight: 480px; dialogWidth: 640px; edge: Raised; center: Yes; help: No; resizable: No; status: No');}</SCRIPT>
Pero aquí está el primer problema, ¿cómo le puedo pasar el campo del datarepeater en donde pone PROBLEMA?
El manejo de variables de diferentes lenguajes en el mismo código me tiene desorientado.
En un tal caso, si lidiar con el datarepeater es muy complicado, podría utilizar la imageurl de otro image que tengo en el webform principal en la que muestro precisamente la imagen del datarepeater, pero en pequeño. Aun así estoy en las mismas, ¿como pasarle image1.imageurl a la siguiente página?
Bueno, el siguiente problema es parecido (tal vez incluso tenga la misma solucion)
En el nuevo formulario recojo el PROBLEMA que vengo arrastrando desde el formulario principal de esta manera:
--- Código: Text --- <%dim DireccionDireccion=Request.QueryString("URL")%>
Eso creo que funciona bien, y digo creo porque a partir de ahí ya no sé que hacer con la variable Direccion.
Necesito ponerla como imageurl del objeto Image que tengo en la página, pero no tengo ni idea de como.
¿Podeis echarme una mano?
Güorker:
Hola,
Vamos a ver como te lo explico todo. Vamos a ir poco a poco:
1.- Primero tienes que establecer la funion javascript para que sea valido para cualquier parametro "PROBLEMA", es decir pasar a la funcion javascript el parametro que te supone un PROBLEMA:
--- Código: Text --- <script LANGUAGE="JavaScript">function url(pathFoto) {hidden = window.open('ampliacion.aspx?URL='+pathFoto,'miFoto','dialogHeight: 480px; dialogWidth: 640px; edge: Raised; center: Yes; help: No; resizable: No; status: No');}</SCRIPT>
2.- Una vez tenemos esa funcion javascript tendremos que llamarla cada vez que se haga click en una de las posiciones de la tabla resultante del Repeater:
--- Código: Text --- ... onclick='url(<%# DataBinder.Eval(Container.DataItem, "URL") %>)' ...
3.- Suponiendo que con lo anterior funciona la página y que al hacer click sobre una de las posiciones de la tabla nos habre un popUp... El funcionamiento de la página que se habre en popUp sería el siguiente:
En el evento Page_Load se escribe lo siguiente:
--- Código: Text --- if(!IsPostBack){ dim Direccion Direccion=Request.QueryString("URL") Image1.ImageUrl = Direccion}
Creo que con eso debería funcionar. Tengo que decir que esto lo he hecho de cabeza y que nio lo he probado ni nada, por lo que es probable haya errores de escritura incluso alguno de programacion (espero que no).
Si no consigues tu proposito, sigue pidiendo consejo; pero no olvides buscar ayuda en otras fuentes como MSDN o Google...
Saludos
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa