System.Web.UI.ViewStateException - Viewstate inválido
ASP.NET
26/05/2009 por
Cuban Pete
Boa tarde,
essa exceção pode ter mais de 1 causa; são elas em sua maioria:
1) Conteúdo de controles alterados via client-script (javascript).
2) Tamanho do viewstate muito grande.
Vamos apresentar as soluções:
1) Para resolver, podemos simplesmente parar de usar o Javascript (talvez não seja a melhor opção) ou então desabilitar o EventValidation para a página em questão, setando a propriedade EnableEventValidation para FALSE.
2) Isso pode ocorrer por parte da máquina que faz a solicitação não suportar o tamanho de um campo muito grande no post (muito grande mesmo!). Para isso o ASP.NET oferece a opção de dividir o viewstate em vários campos. Para isso ele cria um campo viewstatefieldcount onde guarda quantos campos tem e vai criando as variáveis viewstate1, viewstate2, e assim por diante.
Por padrão isso não vem habilitado, ou seja, o viewstate não tem limite mas caso queira mudar altere a seguinte propriedade no web.config:
<pages maxPageStateFieldLength="65536">
Eu utilizei 65536 (a medida é em bytes) o default é -1, que significa sem limite. Vale um aviso importante: Não utilize valores pequenos, pois isso causará perda de performance, de acordo com a própria documentação na MSDN (http://msdn.microsoft.com/pt-br/library/system.web.ui.page.maxpagestatefieldlength.aspx).
Ok, é isso.
[keywords]
System.Web.HttpException: O cliente se desconectou. ---> System.Web.UI.ViewStateException: Viewstate inválido. Comprimento inválido para uma matriz de caracteres Base-64.
Comentários sobre o artigo
Poste um comentário >>
|