Pergunta

Eu tenho uma página em que eu quiser manter o valor do objeto entre costas dos correios. Estou a pensar em duas maneiras para manter o valor de objetos

  1. armazenar o valor em Ver Sate
  2. loja o valor no campo oculto

que é melhor opção para usar com base no desempenho

Foi útil?

Solução

Viewstate se você não necessidade de fazer referência a ela no script do lado do cliente. Um campo oculto se o fizer.

Considere também que, se os dados forem sensíveis, o Viewstate é criptografada por padrão, enquanto o campo escondido, por padrão, armazena como texto simples visíveis para qualquer pessoa que sabe como visualizar fonte.

Editar

Nota do Per @ Andrew Hare em sua própria resposta, eu estou editando este. É uma distinção bastante importante para nota. Eu odiaria para alguém pensar que eles eram "seguro" usando o ViewState com base na minha supervisão.

O Viewstate não é criptografada por padrão, ele é armazenado como Base 64 codificação. Ele pode ser decodificado com bastante facilidade, portanto, usando o Viewstate porque é criptografado por padrão não é válido. É melhor do que texto simples, mas não a qualquer pessoa com a capacidade de google "descriptografar Viewstate" ou "decodificar Viewstate".

Portanto, não contar com o Viewstate para proteger suas informações escondidas no código do lado do cliente.

Um artigo aqui diz como criptografá-lo devidamente. (Mas também adverte sobre problemas de desempenho).

Outras dicas

Realmente não importa, já que ViewState é em si armazenado em uma entrada escondida. Use o que for mais fácil para você. Se fosse por mim, eu iria escolher ViewState desde o tempo de execução ASP.NET irá lidar com a serialização e desserialização de seus objetos para você.

Eu gosto de ViewState - é muito mais difícil de cortar - uma pessoa desagradável poderia facilmente enviar sua página para você com dados ruins em seus campos ocultos

Você deseja armazená-lo no estado de exibição. campos ocultos pode ser atualizado no navegador, como eles são feitos para armazenar informações que podem ser manipulados no lado do cliente. O estado de exibição será validado por asp.net contra adulteração, onde você tem que fazer isso com o campo escondido si mesmo.

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