Busca online em todo site:

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Armazenando dados no ViewState – Parte I


Data Publicação: 25/1/2006 10:14:42
Total de visualizações: 3106

comente
 


 

Segue alguns livros que publiquei pela editora Ciência Moderna.

 

 

Olá pessoal, meu nome é Mauricio Junior, mostrarei como armazenar dados dentro do ViewState. Para quem não sabe o que é ViewState, este artigo irá clarear um pouco no seu desenvolvimento. Antes do começo, segue os pré-requisitos para o desenvolvimento:

 

- Visual Studio.NET 2005;

- Linguagem C#.NET;

- Conhecimento com envio de dados.

 

A IDE desenvolvida pela Microsoft chamada Visual Studio.NET 2005 veio para revolucionar o mercado em desenvolvimento de software. Para quem não adquiriu ainda, segue link para download gratuitamente. A versão express é gratuita e baseada para estudantes, desenvolvedores que estão começando e outros. Vale a pena conferir.

 

 

 

Além da versão Visual Studio.NET 2005 Express Editions, está disponível a versão do Express banco de dados SQL SERVER 2005.

 

 

 

 

Link: http://msdn.microsoft.com/vstudio/express/default.aspx

 

 

Seguindo com o artigo, cliquei no menu HELP, depois em ABOUT MICROSOFT VISUAL STUDIO. A IDE mostra a ilustração a seguir:

 

 

 

 

Como dito antes, este artigo estará mostrando como armazenar os dados OOP (programação orientado a objetos) no campo ViewState. Percebo que quando executo uma página ASP.NET existe um campo oculto no meu código HTML com o nome _ViewState, o mesmo é gerado com dados e objetos do formulário WEB, é basicamente uma lista de nomes e valores que são salvos depois que a página da um postback, ou é postada.

 

O _ViewState armazena todos os dados da página ocultamente do HTML, porém existe algumas limitações, o mesmo só pode armazenar os dados que são serializados, ou seja, SERIALIZABLE. O ASP.NET compara o estado de um controle com o seu estado anterior.

 

 

 

 

Indo para a prática

 

Na execução dessa primeira página, segue a ilustração de como é armazenado. Não desenvolvi nenhuma linha de código e o ViewState já está lá.

 

 

 

 

Notei e note você também que os dados são criptografados, portanto existe segurança de dados dentro desse campo _ViewState.

 

Criei uma outra classe chamada UsuarioTO.cs com alguns dados declarados do tipo string.

 

 

 

 

Segue o código:

 

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

/// <summary>

/// Classe com campos de usuários

/// </summary>

[Serializable]

public class UsuarioTO

{

    string usuario;

    string senha;

    string dataNascimento;

    string email;

 

    public string Email

    {

        get { return email; }

        set { email = value; }

    }

 

    public string DataNascimento

    {

        get { return dataNascimento; }

        set { dataNascimento = value; }

    }

 

    public string Senha

    {

        get { return senha; }

        set { senha = value; }

    }

  

    public string Usuario

    {

        get { return usuario; }

        set { usuario = value; }

    }

 

}

 

Explicação:

 

O primeiro de tudo, coloquei a classe do tipo SERIALIZABLE antes da assinatura. Declare as variáveis necessárias como usuario, senha, dataNascimento e email, depois gerei GET e SET das mesmas. Se você ainda não sabe como gerar GET e SET automaticamente com a ferramenta VS 2005, acesse o artigo abaixo que mostrar como gerar.

http://www.aspneti.com/visualizar/downloadArtigo.aspx?ch_artigos=41

 

Depois de gerar a classe serializada, criei uma página chamada Default.aspx onde possui um método que armazena os dados dentro do viewstate usando a classe UsuarioTO.cs.

 

Segue a ilustração da classe:

 

 

 

 

 

 

Código:

 

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class _Default : System.Web.UI.Page

{

    //declarando variavel para ser usada no viewstate

    private const string KEY_VIEW_STATE = "__NomeValor";

 

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    /// <summary>

    /// método que armazena os valores dentro do view state

    /// </summary>

    protected void ArmazenaDados()

    {

        UsuarioTO to = new UsuarioTO();

        to.Usuario = "Mauricio Junior";

        to.Senha = "Senha";

        to.DataNascimento = "29/07/1982";

        to.Email = "mauricio@ascompras.com";

 

        ViewState.Add(KEY_VIEW_STATE, to);

    }

}

 

Explicação:

 

Criei uma constante chamada KEY_VIEW_STATE com o valor __NomeValor. Essa variável é o nome de dentro do ViewState. Mais abaixo existe um método que criei chamado ArmazenaDados() onde instancio o método da classe UsuarioTO. Armazeno os valores manualmente por exemplo: to.Usuario = “Mauricio Junior”. A última linha armazeno propriamente os dados e os valores dentro do ViewState. ViewState.Add(KEY_VIEW_STATE, to).

 

Não posso esquecer de coloca o método ArmazenaDados() dentro do método Load.

 

    protected void Page_Load(object sender, EventArgs e)

    {

        ArmazenaDados();

    }

 

Executei o código e o mesmo gerou os valores armazenando dentro do ViewState. Note que os valores realmente aumentaram.

 

 

 

 

Por enquanto esse artigo fica por aqui. Meu nome é Mauricio Junior e estou à disposição de todos. No próximo artigo, mostrarei como pegar os dados criptografados e exibir na tela usando OOP.

 

 

 

 

 

Mauricio Junior

e-mail: mauricio@ascompras.com ou mauricio@aspneti.com

Community: www.aspneti.com

Site: www.ascompras.com

 



Total de visualizações: 3106
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:

Comentado por: Luiz Anderson - 2/10/2006 14:39:51
Parabens mauricio,são simplsmente excelentes seus tutoriais.

Sucesso e Muito obrigado !!!

OBS: Estou esperando a continuação deste material... rs

Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Mais um certificado Microsoft
Coalescing Operador C# ?? null
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte I)
Um desejo de felicidade
Desenvolvendo com Atributos (Javascript) e StringBuilder
Justiça isenta Itaú por captura de senha de correntista
LER: prevenir ou remediar?
WebServices usando soapHeader
Cortando String XML
Criando a Tag Cloud em C#
Importação e Comunicação entre Sistemas
MSDN Code Gallery
Windows Mobile Phone
Conecte - netBOOKS
Forum utilizando VS 2005 e Ajax
Sistema de Login em ASP – Parte V
Heroes {Community} Launch - Brasilia/DF
Public Interface
SELECT INSERT
Abrindo Janela de Forma Modal
Criando e Lendo Cookie
E-mail Carta de Amor - Vírus
Artigo criando atalhos para a sua aplicação.
Microsoft lança seu próprio QRCode
Visual SourceSafe - Série 5
GMaps com ASP.NET
Como fazer uma enquete - parte 1
SQL Server 2005 SP2 já está disponível :)
Microsoft abre sua loja de aplicativos para desenvolvedores de software mobile
Vídeo - Mostrando um sistema com pocket pc
As várias mensagens do Sistema Operacional
Usando Tooltip
iGas - Sistema de Controle de Combustível
Código fonte do livro DESENVOLVENDO WEBSERVICES
Gerando Relatório e Exportando para o Excel

Publicidade:

[sumir] [aparecer]
DEVMEDIA




Informaes Online:

Usurios Online: 474
Artigos:  663
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5794

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 382 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC