none
Recuperando TextBox - ViewState RRS feed

  • 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

     

     

    segunda-feira, 5 de julho de 2010 20:19

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
    segunda-feira, 5 de julho de 2010 20:29

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
    segunda-feira, 5 de julho de 2010 20:28
  • 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
    segunda-feira, 5 de julho de 2010 20:29
  • Obg pelas dicas..  Realmente meu entendimento da coisa nao estava correto,

    mas, com as explicacoes mudei a forma de trabalho de meu programa aqui.

    Obg novamente.. 

    terça-feira, 6 de julho de 2010 15:35