Usuario
variable publica se recetea a valor original

Pregunta
-
Hola, tengo una pagina donde tengo
Imports
System.DataImports
System.Data.SqlClientImports
System.Data.OleDbPartial
Class asociados Inherits System.Web.UI.Page Public control As Integer Public codigo As String Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If IsPostBack = False Then 'la primera vescontrol = 0
codigo =
""rellenar(
Nothing) End If End Suby asi las sub
pero en un momento dado en una sub la variable control cambia de valor ej. control = 3 y en otra sun diferente la evaluo y tiene cero. Alguien podria aportar porque se resetea?
Todas las respuestas
-
Hola,
Normal... al hacer un postback cualquiera perderas el valor de la variable, y te pondra el valor por defecto en un integer... o sea 0.
Tienes dos soluciones... una es probar a almecenar la varible en el viewstate.
Y otra es hacer la variable SHARED, pero en este caso todas las paginas compartirian la variable y por lo tanto el valor.
Recomiendo que lo guardes en el viewstate o en la session
Un saludo.
-
Gracias Javier, lo he puesto asi
control = 1
Me.SaveViewState()y en donde lo quiero volver a evaluar asi
Me
.LoadViewState(control)if control = 2 then
kjdslkjdksjdk
sjkdjskjdl
else
kjdksjdlkj
ksjdksj
end if
esta correcto asi?
si esta correcto asi, yo pensaba que solo los controles de una pagina y la pagina en si aplicaban al viewstate, pero no sabia que a las variables?
-
Hola,
Lo que yo queria decir es algo parecido:
Private sUsuario As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
sUsuario = Me.ViewState("sUsuario")
End If
End Sub
Public Sub CargarDatos()
sUsuario = CargarUsuario()
Me.ViewState.Add("sUsuario", sUsuario)
End Sub
Algo asi jejejejej
Un saludo.
-
me da un error al momento cargar el viewstate con el loadviewstare
public control as integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If IsPostBack = False Then 'la primera vescontrol = 0
codigo =
""rellenar(
Nothing) Me.ViewState.Add("control", control) End If End Subcontrol = 2 ' cambia y guarda el valor
Me.SaveViewState() End Subif control = 2 then
al cargar el viewstate de la variable control, el cual deberia ser 2 da el siguiente error
Unable to cast object of type 'System.Int32' to type 'System.Collections.ArrayList'.
que mas debo de hacer?
-
-