
04/01/2005, 00:59
|
| | Fecha de Ingreso: febrero-2004 Ubicación: Granada
Mensajes: 26
Antigüedad: 21 años Puntos: 0 | |
Re: session La manera más sencilla de solucionar el problema es crearte una clase, guardar los datos en ella, y recuperarlos cuando te hagan falta.
Te adjunto un ejemplo de como lo hago yo.
'
'CLASE PARA GUARDAR LOS DATOS
'----------------------------
Public Class CDatosPersonales
'Declara las variables
Public Nombre As String
Public Apellidos As String
'Ejecuta el procedimiento cuando inicializa la clase
Public Sub New()
limpiar()
End Sub
'Limpia las variables
Private Sub limpiar()
Nombre = ""
Apellidos = ""
End Sub
End Class
'
'FORMULARIO PADRE
'----------------
' Hace la llamada a la funcion del script pasando los parametros;
' tipo - para saber desde que pantalla he llamado y volver a ella al cerrar la ventana hija.
' titulo - texto a incluir en el label de la ventana hija.
' varP - otra variable para saber que seleccion debo hacer.
<HTML>
<HEAD>
<title>Datos Personales</title>
<meta name="vs_snapToGrid" content="True">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="vbScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="javascript">
function abrirVentana(url) { window.open(url,"_blank","top=200,left=110,directo ries=no,location=no,menubar=no,scrollbars=no,statu sbar=no,tittlebar=no,width=800,height=250")
}
</script>
</HEAD>
<BODY>
<FORM>
<A onclick="abrirVentana('Select.aspx?tipo=1&titu lo=DT/DR/Servicio&varP=1');" href="#">
<IMG id="Ayuda" style="Z-INDEX: 204; LEFT: 784px; WIDTH: 20px; CURSOR: hand; POSITION: absolute; TOP: 8px; HEIGHT: 24px" height="24" alt="" src="images/Interrog.gif" width="20" border="0" runat="server"></A>
</FORM>
</BODY>
</HTML>
' Esta es la parte de codigo asociado al formulario padre en el cual debes declarar la clase. Cuando cargues la pagina, en el evento Init debes inicializar
'la clase la primera vez que cargues la pagina.
Public Class DatPerson
Inherits System.Web.UI.Page
Dim DatP As CDatosPersonales
. . .
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: el Diseñador de Web Forms requiere esta llamada de método
'No la modifique con el editor de código.
InitializeComponent()
' Revisa si se habían introducido datos en la página y los recupera.
Dim i As Integer
i = 0
While (i < Session.Keys.Count)
If (Session.Keys(i).ToString() = "DatPerson") Then
Exit While
Else
i = i + 1
End If
End While
If (i < Session.Keys.Count) Then
DatP = Session("DatPerson")
Else
DatP = New CDatosPersonales
Session.Add("DatPerson", DatP)
End If
End Sub
. . .
End Class
'
'FORMULARIO VENTANA HIJA
'-----------------------
Public Class _Select
Private DatP As CDatosPersonales
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Introducir aquí el código de usuario para inicializar la página
Dim tipo As Integer ' Identifica el sitio desde el que se llama a la pantalla de selección
Dim MiSQL As String
Dim dscombo As DataSet
Dim cadena As String
Dim i As Integer
If Not (IsPostBack) = True Then
tipo = CInt(Request.QueryString("Tipo")) ' Recupera el valor del parametro que hemos pasado en el a varibale tipo
Label1.Text = Request.QueryString("Titulo") ' Recupera el valor que hemos pasado en la variable titulo
Select Case tipo
Case 1
Case 2
. . .
End Select
End If
. . .
End Sub
' En el evento de seleccion que me interesa asigno los datos y guardo las variables en la clase.
Private Sub ddl3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddl3.SelectedIndexChanged
Dim tipo As Integer ' Identifica el sitio desde el que se llama a la pantalla de selección
tipo = CInt(Request.QueryString("Tipo"))
Dim MiSQL As String
Select Case tipo
Case 1
DatP.Nombre = ddl2.SelectedItem.Value
DatP.Apellidos = ddl3.SelectedItem.Value
boton3.Visible = True
Session("DatPerson") = DatP
Case 2
. . .
End Select
End Sub
Espero que te sirva. Ya me dirás algo.
Un saludo |