Foros del Web » Programando para Internet » ASPX (.net) »

Duda existencial

Estas en el tema de Duda existencial en el foro de ASPX (.net) en Foros del Web. Tengo una duda y por mas que investigo no llego a resolverla. Estoy desarrollando una aplicacion web en vb.net con varios formularios, la duda es ...
  #1 (permalink)  
Antiguo 01/02/2010, 13:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 0
Duda existencial

Tengo una duda y por mas que investigo no llego a resolverla. Estoy desarrollando una aplicacion web en vb.net con varios formularios, la duda es si se puede guardar la vista que en un momento determinado tiene el formulario para luego volver a cargarlo.
Me explico tengo el form1 donde tengo un boton que me abre el form2, y al cerrar éste quiero volver al form1 tal y como lo deje no que me lo cargue de nuevo que es lo q consigo con Response.Redirect("pagina.aspx").
Si no me explico mal lo que quiero es poder guardar la vista pa luego poder cargarla.Gracias
  #2 (permalink)  
Antiguo 02/02/2010, 02:10
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 4 meses
Puntos: 31
Respuesta: Duda existencial

Hola, no puedes hacer eso, ya que al hacer un response.redirect vas a otra página y pierdes los datos de la primera pagina, para recuperar esos datos tendrás que hacer la misma operación tantas veces como cargues la página.

Te puedo dar dos soluciones si quieres evitar eso.

1.-Utilizar un PopUp:

Con esto en vez de ir a otra página, se te carga una ventanita del tamaño que tu quieras con la nueva página y detrás quedará la primera página así cuando cierres la segunda, se te mantendrán los datos de la primera página.

Podrias utilizar Javascript:
http://www.forosdelweb.com/f29/popup...esde-c-193119/
ó con un control específico del toolkit con ajax:
http://www.asp.net/%28S%28wnmvzu45um.../video-84.aspx



2.- Utilizar Ajax y hacer las operaciones sobre un mismo formulario

Con esto tendrías que tener por ejemplo que dividir el formulario en dos, a la izquierda los datos del primer formulario y a la derecha mostrarías los datos de la segunda página, con ajax evitarías que se te recargara la página.


saludos
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo
  #3 (permalink)  
Antiguo 02/02/2010, 08:07
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Duda existencial

Otra opcion es usar variables de sesion, de esta forma guardas en la memoria del servidor el contenido y asi luego lo puedes volver a recuperar.
__________________
Aviso: No se resuelven dudas por MP!
  #4 (permalink)  
Antiguo 02/02/2010, 11:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Duda existencial

Gracias por contestar! Lo primero para Malenko decirte que en todos los form uso variables de session pero no se como puedo recuperar los valores y obtener la misma vista si pudieras indicarme como hacerlo te lo agradeciria.

Lo segundo he probado a poner el form como pop up y me ha surgido un problemilla resulta que quiero que el popup aparezca dependiendo del valor de una variable y aunq lo tengo en un if-else no lo hace bien y me saca la ventana pop up y el mensaje a la vez.Pongo el código para q lo veais.

<script type="text/javascript" language = "JavaScript">
var miPopup
function abreVentana() {
miPopup = window.open("TriggerExterno.aspx", "fastftp", "resizable=no, location=no, top= 100, width=580, height=400");
miPopup.focus()
}
</script>

Protected Sub ExtTrigger_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ExtTrigger.Click

If Session("EncendidoOsc") = True Then
ExtTrigger.OnClientClick = "abreVentana()"
Else
MsgBox("El Osciloscopio está apagado")
End If

End Sub
  #5 (permalink)  
Antiguo 02/02/2010, 14:30
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Duda existencial

Te pongo el código en C# pero es lo mismo casi en VB:

Guardar en el servidor:
Código:
Session["str_variable"]="hola";
Session["i_variable"]=1;
Para recuperar has de saber que las variables de sesión se guardan en Object's por lo que has de hacer un unboxing (casting):

Código:
string str = (string)Session["str_variable"];
int i = (int) Session["i"];
Además de los tipos básicos puedes almacenar clases propias. Yo lo suelo utilizar en el trabajo para guardar variables del usuario (configuraciones, etc.).
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: existencial, aspx
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 10:42.