Usuário com melhor resposta
Recuperando TextBox - ViewState

Pergunta
-
Boa tarde..
Não sei se entendi direito o uso do EnableViewState em um TextBox, mas estava tentando fazer o seguinte..
TextBox2.EnableViewState = True..
E no Page_load:
if (ViewState["TextBox2"] != null)
{
TextBox1.Text = ViewState["TextBox2"].ToString();
}
else
{
TextBox1.Text = "";
}Ai.. digito algo em textbox2, clico em um botao de submit (Button sem nada no OnClick) e
nada ocorre? Correto isto mesmo? Tenho que forcar algo a mais no OnClick do botao?
Obg
Respostas
-
O ViewState salva os dados encriptados em campo hidden, você não precisa ativá-lo, por padrão, os textbox já vem com o viewstate ativado.
Apenas retire o código que você fez no page_load e deverá funcionar automaticamente, após clicar no botão, o texto continuará presente no textbox.
Voce pode adicionar valores no dicionario ViewState da seguinte forma ViewState["nomeVariavel"] = "valor", mas isso seria somente para algum valor customizado que voce precisar. Por padrão os campos do formulário são salvos automaticamente no viewstate.
vintem.com.br
@vintem12- Marcado como Resposta Adriano_GEO terça-feira, 6 de julho de 2010 15:34
Todas as Respostas
-
Hmmm,
Adriano acho que você está com algumas idéias erradas sobre o que é e como funciona o ViewState.
1-) Ele funciona para guardar valores que normalmente não são enviados com o POST. O texto de um textbox sempre é mantido, não importa se o ViewState está ou não habilitado. O ViewState vai guardar coisas como ForeColor, por exemplo.
2-) O valor default do EnableViewState é true.
3-) Os valores guardados no ViewState pelos controles são controlado pelos próprios controles, ou seja, ViewState["TextBox2"] não vai acessar o ViewState do TextBox2. O ViewState do TextBox2 é mantido pelo próprio TextBox e você simplesmente acessa as propriedades do TextBox.
4-) A sintaxe ViewState["chave"] serve para você guardar valores a mais no ViewState para usar depois. Ou seja, para você ter algum valor em ViewState["chave"] (não ser null) é preciso colocar o valor antes usando ViewState["chave"]= "valor";. A utilidade de guardar um valor usando ViewState["chave"] é que o valor não será perdido mesmo nos próximos PostBacks.
Espero que tenha ajudado um pouco.
Henri.
Henri Nusbaum - Itelios do Brasil Informática Ltda -
O ViewState salva os dados encriptados em campo hidden, você não precisa ativá-lo, por padrão, os textbox já vem com o viewstate ativado.
Apenas retire o código que você fez no page_load e deverá funcionar automaticamente, após clicar no botão, o texto continuará presente no textbox.
Voce pode adicionar valores no dicionario ViewState da seguinte forma ViewState["nomeVariavel"] = "valor", mas isso seria somente para algum valor customizado que voce precisar. Por padrão os campos do formulário são salvos automaticamente no viewstate.
vintem.com.br
@vintem12- Marcado como Resposta Adriano_GEO terça-feira, 6 de julho de 2010 15:34
-