Pergunta

Eu preciso pegar o codificado em base64 representação do ViewState.Obviamente, este não estaria disponível até bastante tarde na solicitação de ciclo de vida, o que é OK.

Por exemplo, se a saída da página inclui:

<input type="hidden" name="__VIEWSTATE" 
  id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" />

Eu preciso de um caminho no lado do servidor para obter o valor "/wEPDwUJODU0Njc5MD...=="

Para esclarecer, eu preciso desse valor quando a página está sendo processado, não em PostBack.exemplo:Eu preciso saber o valor ViewState que está sendo enviado para o cliente, não o ViewState estou recebendo de volta deles.

Foi útil?

Solução

Rex, eu suspeito que um bom lugar para começar a procurar soluções que comprimir o ViewState - eles absorvem o ViewState no servidor antes de ser enviada para o cliente e gzipping-lo.Que é exatamente onde você quer estar.

Outras dicas

Veja isso post de blog onde o autor descreve um método para substituir o comportamento predefinido para gerar o ViewState e, em vez disso, mostra como guardá-lo na Sessão de servidor de objeto.

No ASP.NET 2.0, ViewState é salvo por um descendente de PageStatePersister de classe.Esta classe é uma classe abstrata para salvar e carregar ViewsState e há dois implementado descendentes desta classe .Net Framework, chamado HiddenFieldPageStatePersister e SessionPageStatePersister.Por padrão HiddenFieldPageStatePersister é usado para guardar/carregar informações de ViewState, mas podemos facilmente obter o SessionPageStatePersister para o trabalho e salvar ViewState no objeto de Sessão.

Embora eu não testar o seu código, que parece mostrar exatamente o que você deseja:uma maneira de obter acesso à ViewState código no servidor, antes de postback.

Eu habilitada a compactação seguintes artigos similares para aqueles postado acima.A chave para acessar o ViewState antes de o aplicativo envia foi substituindo este método;

protected override void SavePageStateToPersistenceMedium(object viewState)

Você pode chamar o método básico dentro desta substituir e, em seguida, adicione qualquer lógica adicional que você necessita para lidar com o ViewState.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top