none
HttpContext e Viewstate RRS feed

  • Pergunta

  • Pessoal,

    Utilizo o server.transfer para manipular as variaveis de uma pagina para outro atraves do httpContext.
    No entanto, uma vez na pagina de destino, eu jogo o valor desse httpcontext dentro de um viestate pra maninpula-lo.

    Mas se eu ja tenho o httpcontext eu realmente preciso do viewstate ?
    Ou simplesmente checo o valor do httpContext cada vez q precisar ?

    string keys = (string)(HttpContext.Current.Items["keys"]);
    ViewState["keys"] = keys;

    quinta-feira, 9 de fevereiro de 2012 20:37

Respostas

  • Boas,

    não se deve nunca transferir o ViewState entre páginas. O ViewState é apenas válido na página que o gerou.

    Transferir o ViewState pode, sem grande surpresa, gerar erros.

    Uma vez que os items de QueryString e Form são preservado na transferência de página e são colecções ReadOnly a solução passa por ... não preservar estes valores: Server.Transfer("pagina2.aspx", false).

    Existem duas soluções alternativas e ambas passam por usar o HttpContext.Current.Handler para obter a página de origem:

    void Page_Load()
    {
       if (!IsPostBack)
       {
          fp = (FirstPageClass)Context.Handler;
       }
    }
    

    mas isto só resulta se partilharmos através de propriedades publicas os valores que realmente são importantes.

    Aqui fica um bom artigo.


    Nuno Gomes http://nunogomes.net

    • Marcado como Resposta AGA Neto sexta-feira, 10 de fevereiro de 2012 01:24
    sexta-feira, 10 de fevereiro de 2012 00:23