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