Variables Publicas no puedo trabajar

07/12/2005 - 23:56 por Daniel H. Villa | Informe spam
Hola Grupo:

Estoy trabajando con VB.Net y tengo problemas con mi programación al asignar
variables publicas, ya que no me esta asiganando adecuadamente mis valores.

por ejemplo en la sección Public Class

Public pPosReg As Integer = 1

Cuando doy click al boton siguiente me debe incrementar mi variable

Private Sub btnSiguiente_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSiguiente.Click

pPosReg = pPosReg + 1



Aqui vale pPosReg vale 2 y de hecho asi es.



Sin embargo al dar otra vez al boton siguiente, en vez de valer

pPosReg = pPosReg + 1

3 me dice que vale 1



No se que hacer que estoy haciendo mal


Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")

Preguntas similare

Leer las respuestas

#6 Eduardo A. Morcillo [MS MVP VB]
08/12/2005 - 14:46 | Informe spam
En ASP.NET cada vez que navegas a la pagina (incluso en un postback) se crea
una nueva instancia de la clase. Es por eso que cada vez que presionas el
boton pPosReg esta en 1. Debido a esto no puedes mantener el estado del
formulario usando variables de instancia. Para mantener el estado en una
paginas aspx debes usar ViewState para almacenar el valor en lugar de
variables y para facilitar su uso te conviene encapsularlo en una propiedad:

Property PosReg As Integer
Get
If ViewState("PosReg") Is Nothing Then
Return 1
End If
Return DirectCast(ViewState("PosReg"), Integer)
End Get
Set(ByVal value As Integer)
ViewState("PosReg") = value
End Set
End Property

Luego trabajas con la propiedad igual que lo venias haciendo con la
variable.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#7 Daniel H. Villa
08/12/2005 - 16:35 | Informe spam
Gracias Eduardo, voy a implementarlo



Salu2 :-)))

(""'·._.·L.I. Daniel Villa·._.·'"")


"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:OMtjJ4$%
En ASP.NET cada vez que navegas a la pagina (incluso en un postback) se
crea una nueva instancia de la clase. Es por eso que cada vez que
presionas el boton pPosReg esta en 1. Debido a esto no puedes mantener el
estado del formulario usando variables de instancia. Para mantener el
estado en una paginas aspx debes usar ViewState para almacenar el valor en
lugar de variables y para facilitar su uso te conviene encapsularlo en una
propiedad:

Property PosReg As Integer
Get
If ViewState("PosReg") Is Nothing Then
Return 1
End If
Return DirectCast(ViewState("PosReg"), Integer)
End Get
Set(ByVal value As Integer)
ViewState("PosReg") = value
End Set
End Property

Luego trabajas con la propiedad igual que lo venias haciendo con la
variable.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida