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

[VB] Variables de Session

Estas en el tema de [VB] Variables de Session en el foro de .NET en Foros del Web. Buenas, soy programador ASP y creo que va siendo hora de migrar a NET 2.0 (aunque ya empieza el 3). Así que espero poder contar ...
  #1 (permalink)  
Antiguo 25/08/2007, 11:27
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 21 años, 1 mes
Puntos: 1
[VB] Variables de Session

Buenas,

soy programador ASP y creo que va siendo hora de migrar a NET 2.0 (aunque ya empieza el 3). Así que espero poder contar con la ayuda de todos vosotros ya voy a ir lanzando preguntas según me vayan surgiendo.

También decir que a falta de que me "llegue" el Visual Net 2005, estoy trabajando a pelo con el HomeSite 2005, que por supuesto no tiene soporte NET, así que es como programar desde un simple editor de texto.

En fin, presento mi primera y supongo que simple duda.

Una simple comparación con una variable de sesion me da error:

Código:
Exception Details: System.FormatException: Input string was not in a correct format.

Source Error: 
Line 26: if session("warring") = "" then
he comprobado que si primero paso el valor de la variable session a una variable normal luego sí puedo hacer la comparación:

Código:
Dim warring as string
warring = session("warring")
if warring = "" then
pero mi duda es, ¿no se puede comparar directamente la variable session?

gracias
  #2 (permalink)  
Antiguo 25/08/2007, 14:46
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 11 meses
Puntos: 3
Re: [VB] Variables de Session

Hola dblanco:

Yo trabajo en C# (Visual Studio 2005), pero para VB no será difícil traducirlo.

Lo que me funciona es lo que te pongo a continuación.

En vez de:
[C#]
Código:
if (Session["warring"] == ""
[VB]
Código:
if (Session("warring") = "" then
pongo esto:
[C#]
Código:
if (Session["warring"] == null)
[VB]
Código:
'FORMA OBSOLETA PARA VISUALSTUDIO2005
''''   if (Session("warring") = null) then
'BUENO IGUAL ERA...
''''   if (Session("warring") Is null) then

'EN LA PRUEBA QUE HE HECHO EN UN ARCHIVO .vb CON EL VISUAL STUDIO 2005
'ME DECÍA QUE LA COMPARACIÓN DIRECTA CON EL VALOR Null
'YA ESTABA OBSOLETA, Y DABA ESTA FORMA PARA HACERLO
if (Session("warring") Is DBNull.Value) then
Es decir, que más bien lo que hago no es ver si la variable de sesión está vacía, sino si existe.

Igual te funcione tanbién así (aunque esto no lo he llegado aprobar):
[C#]
Código:
if (Session["warring"].ToString() == "")
[VB]
Código:
if (Session("warring").ToString() = "") then
Comprueba que el código [VB] esté bien redactado (que yo por ahora me he movido más en C#), aunque no creo que contenga grandes fallos...

Espero te sirva...
__________________
Saludos,

zacktagnan.
=================================================
  #3 (permalink)  
Antiguo 26/08/2007, 05:49
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: [VB] Variables de Session

gracias zacktagnan,

pero he descuvierto cuál es el problema. Resulta que en ASP tradicional los tipos de variables son polivalentes (ahora no sé cómo se dice técnicamente), es decir que tanto te pillan valores numéricos como caracteres.

En .NET veo que todo hay que definirlo claramente, y yo esta variable de sesión, que arraca del global.asax con como
Código:
Session("warring") = ""
luego al aceptar un warring le doy valor 1. Claro luego cuando hago la comparación (para ver si ha aceptado el warring) con "", pues me da error ya que ahora tiene definida esa variable como numérica. La solución es o darle valores alfanuméricos o definir en el globa.asax con valor 0, por ejemplo y comparar luego siempre con valores numéricos.

Bueno es cuetión de irse acostumbrand a las característiecas del lenguaje, gracias por tu ayuda y espero que me eches una mano en más problemillas que me vayan surgiendo.

Un saludo
  #4 (permalink)  
Antiguo 28/08/2007, 17:29
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: [VB] Variables de Session

después de un par de día con .net he migrado una web sencillata de ASP 3.0 y la verdad es que a priori pensé que tendría muchas complicaciones pero simplemente he tenido que ir transformando el formato de algunas instrucciones.

Al finalizar me ha quedado un aspeto idéntico a la aplicación ASP. Me ha sorprendido un poco porque la documentación que ido leyendo de .NET pues habla de que formularios del lado del servidor, que si no puedes incluir javascript, y un montón de cosas y en la práctica veo que en .NET puedes meter todo el código de ASP tradicional.

Así pues animo a todos los que quieran migrar y tengan miedo, aunque tampoco es algo necesario ahora ya que no creo que los servidores dejen de dar soporte a ASP en muuucho tiempo.

Lo que sí deduzco es que pese a ser muy compatible con ASP a medida que domine NET veré otras formas completamente distintas de plantear cada página aplicando las cualidades que ofrece .NET

Lo que está claro es que hasta que me "llegue" el Visual Studio, desde un simple editor no se pueden llevar a cabo todas esas características. Supongo que con Visual Studio, se podran insertar objetos, librerías y programar eventos al viejo estilo VBasic.

En fin, alguien podría hacer un resumen de las funcionalidades más comunes y prácticas que se usan en .NET y lo diferencien del ASP 3.0?

gracias y saludos
  #5 (permalink)  
Antiguo 28/07/2008, 14:53
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Re: [VB] Variables de Session

Cita:
Iniciado por dblanco Ver Mensaje
después de un par de día con .net he migrado una web sencillata de ASP 3.0 y la verdad es que a priori pensé que tendría muchas complicaciones pero simplemente he tenido que ir transformando el formato de algunas instrucciones.

Al finalizar me ha quedado un aspeto idéntico a la aplicación ASP. Me ha sorprendido un poco porque la documentación que ido leyendo de .NET pues habla de que formularios del lado del servidor, que si no puedes incluir javascript, y un montón de cosas y en la práctica veo que en .NET puedes meter todo el código de ASP tradicional.

Así pues animo a todos los que quieran migrar y tengan miedo, aunque tampoco es algo necesario ahora ya que no creo que los servidores dejen de dar soporte a ASP en muuucho tiempo.

Lo que sí deduzco es que pese a ser muy compatible con ASP a medida que domine NET veré otras formas completamente distintas de plantear cada página aplicando las cualidades que ofrece .NET

Lo que está claro es que hasta que me "llegue" el Visual Studio, desde un simple editor no se pueden llevar a cabo todas esas características. Supongo que con Visual Studio, se podran insertar objetos, librerías y programar eventos al viejo estilo VBasic.

En fin, alguien podría hacer un resumen de las funcionalidades más comunes y prácticas que se usan en .NET y lo diferencien del ASP 3.0?

gracias y saludos
Mira que sencillo se resuelve eso papa
Declaras la variable
por ejemplo
Session.Add("MyVar",0);
Luego le das un valor
Session["MyVar']:="Algo"
if Convert.ToString(Session["MyVarr"]=="")

{
//Hacer algo

}
else
{
//Hacer algo
}
eso es todo

Última edición por Xeta2008; 28/07/2008 a las 14:54 Razón: Lo escribi mal
  #6 (permalink)  
Antiguo 28/07/2008, 14:56
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: [VB] Variables de Session

Mira que sencillo se resuelve eso papa
Declaras la variable
por ejemplo
Session.Add("MyVar",0);
Luego le das un valor
Session["MyVar']="Algo";
if (Convert.ToString(Session["MyVarr"]=="")

{
//Hacer algo

}
else
{
//Hacer algo
}
eso es todo
  #7 (permalink)  
Antiguo 29/07/2008, 06:39
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: [VB] Variables de Session

Session["dsasdas"] nos devuelve un objeto, es decir, que comporbar con "" no es correcto sino se hace un casting.

Primero hay que comprobar que no es null; si es null significa que esa variable de sesion no existe.

Una vez comprobado que no es null, ya podemos trabajar con ella con su consiguiente casting.
  #8 (permalink)  
Antiguo 29/07/2008, 09:44
 
Fecha de Ingreso: octubre-2007
Mensajes: 107
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: [VB] Variables de Session

dblanco

Para asignar un valor a una variable de session como yo lo hago:

session ("variable") = valor

Para recuperar el valor de la variable de session se recupera con session.item("variable") y con el ctype se convierte a string o numeric, etc.


ejemplo:
dim var_string as string
var_string = ctype(session.item("variable"), string)

osea que para el if seria:

if ctype(session.item("variable"), string) = "" then

end if
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 09:18.