Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Albert Kellner

Objetos criados em RT se perdem

Recommended Posts

Gente, beleza?

Na minha página eu preciso usar vários objetos criados em Runtime..., e preciso dos valores deles durante a navegação..., o problema é o seguinte:

Crio os objetos, escrevo o texto, clico ok, e o objeto não existe mais.....

Mesmo se eu recriá-lo no PreLoad, o valor vem em branco.

-> Criar os objetos:

Dim RT_txtAdicionar As New TextBox

With RT_txtAdicionar

.ID = "txtAdicionar"

.CssClass = "Texto"

.Width = 90

End With

pnlAdmin.Controls.Add(RT_txtAdicionar)

 

Dim RT_btnAdicionar As New Button

With RT_btnAdicionar

.ID = "btnAdicionar"

.Text = "Adicionar"

.CssClass = "Botao"

.Width = 90

AddHandler .Click, AddressOf RotinaMenu

End With

pnlAdmin.Controls.Add(RT_btnAdicionar)

 

-> Ler o Valor:

Dim Teste As TextBox = Nothing

Teste.Equals(form1.FindControl("txtAdicionar"))

Response.Write(Teste.Text)

 

Minha duvida é: existe alguma forma de criar o objeto 1 única vez e ele continuar existindo?? Senão, como posso trabalhar com esses objetos sem que os valores se percam a cada click?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, beleza?

Na minha página eu preciso usar vários objetos criados em Runtime..., e preciso dos valores deles durante a navegação..., o problema é o seguinte:

Crio os objetos, escrevo o texto, clico ok, e o objeto não existe mais.....

Mesmo se eu recriá-lo no PreLoad, o valor vem em branco.

-> Criar os objetos:

Dim RT_txtAdicionar As New TextBox

With RT_txtAdicionar

.ID = "txtAdicionar"

.CssClass = "Texto"

.Width = 90

End With

pnlAdmin.Controls.Add(RT_txtAdicionar)

 

Dim RT_btnAdicionar As New Button

With RT_btnAdicionar

.ID = "btnAdicionar"

.Text = "Adicionar"

.CssClass = "Botao"

.Width = 90

AddHandler .Click, AddressOf RotinaMenu

End With

pnlAdmin.Controls.Add(RT_btnAdicionar)

 

-> Ler o Valor:

Dim Teste As TextBox = Nothing

Teste.Equals(form1.FindControl("txtAdicionar"))

Response.Write(Teste.Text)

 

Minha duvida é: existe alguma forma de criar o objeto 1 única vez e ele continuar existindo?? Senão, como posso trabalhar com esses objetos sem que os valores se percam a cada click?

 

 

Todos os objetos criados dinamicamente precisam ser recriados a cada PostBack.

Inclusive o valor contido neles. Para isso trabalhe com o evento Page_Init e com ViewState.

 

Referências:

Clique aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, concordo.... E eu recrio todos os objetos a cada PostBack..., o problema é com o textbox....

O usuario digita o texto, e clica em OK. Acontece 1 das 2 abaixo:

 

- se eu nao recriar o textbox

nao existe o campo que eu preciso e gera um erro ao procurar esse objeto...

 

- se eu criar ele no preinit ou preload

o textbox zera o texto.... apagando o que o usuario digitou....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, concordo.... E eu recrio todos os objetos a cada PostBack..., o problema é com o textbox....

O usuario digita o texto, e clica em OK. Acontece 1 das 2 abaixo:

 

- se eu nao recriar o textbox

nao existe o campo que eu preciso e gera um erro ao procurar esse objeto...

 

- se eu criar ele no preinit ou preload

o textbox zera o texto.... apagando o que o usuario digitou....

 

 

Sim. Conforme eu disse você terá que tratar também o conteúdo desses objetos usando o ViewState

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.