Foros del Web » Programación para mayores de 30 ;) » .NET »

session

Estas en el tema de session en el foro de .NET en Foros del Web. Hola Aforados: Feliz año 2.005 a todos. Tengo dos proyectos en dos subdirectorios diferentes dentro del wwwroot y quiero compartir una unic ahoja web de ...
  #1 (permalink)  
Antiguo 01/01/2005, 05:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 198
Antigüedad: 20 años, 1 mes
Puntos: 1
session

Hola Aforados:

Feliz año 2.005 a todos.

Tengo dos proyectos en dos subdirectorios diferentes dentro del wwwroot y quiero compartir una unic ahoja web de administrador para ambos proyectos.

Para entrar en la hoja web del administrador que esta alojada en uno de los proyectos, logicamnete hay que hacerlo con un usuario y una password que validom en un boton y almaceno las variables en session("nick" )y session ("password") si son correctas. para acontinuacion hacer un response redirect a la hoja del administrador y alli ver si las variables session son correctas.

Pues bien me inicializa las variables session ya lo haga con direccion absoluta o relativa.

Hay alguna maneraq sencilla de hacer esto


Gracias anticipadas
  #2 (permalink)  
Antiguo 04/01/2005, 00:59
 
Fecha de Ingreso: febrero-2004
Ubicación: Granada
Mensajes: 26
Antigüedad: 20 años, 2 meses
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&amp;titu lo=DT/DR/Servicio&amp;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
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 19:35.