A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ASP.NET Passo a Passo Estado da Seção

Apresentações semelhantes


Apresentação em tema: "ASP.NET Passo a Passo Estado da Seção"— Transcrição da apresentação:

1 ASP.NET Passo a Passo Estado da Seção
Conteúdo do Capítulo Compreender o gerenciamento de sessão Utilizar o objeto gerenciador de estado de sessão

2 ASP.NET Passo a Passo Estado da Seção
Estado da Sessão O ASP.NET cria um objeto Session a cada solicitação do usuário. Ele marca o objeto com um identificador e o reconstitui quando chega uma solicitação com um identificador válido. Desta forma, o objeto Session acompanha a página por toda parte e é um repositório conveniente para armazenar informações por toda a sessão até o fechamento do navegador. O objeto Session é um dicionário de pares chave-valor. Você pode associar qualquer objeto a uma chave e armazená-lo no objeto Session. Em outra solicitação da mesma sessão, o objeto estará disponível.

3 ASP.NET Passo a Passo Estado da Seção
Estado da Sessão Crie uma aplicação Web (Empty Web Application) de nome SessionState. Adicione ao site um formulário de nome WebForm1.aspx. Insira na página um rótulo, uma caixa de texto e dois botões com- forme apresentado na figura ao lado. Ajuste o texto dos botões para “Submit Simples” e “Submit armazenando na variável”. Altere o ID do rótulo para LabelShowString.

4 ASP.NET Passo a Passo Estado da Seção
Estado da Sessão Adicione à página uma variável de nome “_str”. No evento PageLoad, carregue seu conteúdo da variável para o rótulo. No clique do segundo botão, carregue o conteúdo do TextoBox na variável e em seguida carregue no rótulo. public partial class WebForm1 : System.Web.UI.Page { string _str = String.Empty; protected void Page_Load(object sender, EventArgs e) { LabelShowString.Text = _str; } protected void Button2_Click(object sender, EventArgs e) _str = TextBox1.Text; // Armazena texto digitado na variável LabelShowString.Text = _str; // Copia da variável para rótulo

5 ASP.NET Passo a Passo Estado da Seção
Estado da Sessão Execute a aplicação, digite uma frase. Clique no botão “Submit Simples” e no “Submit armazenando na variável”. Observe que o rótulo recebe sempre vazio quando é acionado o primeiro botão e apresenta o conteúdo do TextBox quando é acionado o segundo botão.

6 ASP.NET Passo a Passo Estado da Seção
Estado da Sessão Acrescente na página um botão, ajustando seu texto para “Submit armazenando na sessão”. Adicione também um novo rótulo e ajuste o ID para LabelShowStringAsSessionState. Ajuste o evento PageLoad para ler o estado da sessão e acrescente o tratamento do evento do terceiro botão conforme abaixo. protected void Page_Load(object sender, EventArgs e) { LabelShowString.Text = _str; LabelShowStringAsSessionState.Text = (String)Session["str"]; } protected void Button3_Click(object sender, EventArgs e) Session["str"] = TextBox1.Text; // Armazena texto digitado na sessão LabelShowStringAsSessionState.Text = (String)Session["str"]; // Copia da sessão para rótulo

7 ASP.NET Passo a Passo Estado da Seção
Estado da Sessão Observe as diferenças entre as funcionalidade dos botões. Quando é acionado o terceiro botão o novo rótulo mantem o conteúdo mesmo quando clicamos no primeiro botão que faz o submit simples. A informação só é perdida ao fecharmos o navegador. Caso não consiga identificar corretamente os rótulos, crie uma tabela e coloque os rótulos dentro para facilitar a visualização.

8 ASP.NET Passo a Passo Estado da Seção
Cookies Acrescente na página mais um botão, ajustando seu texto para “Submit armazenando no cookie”. Adicione também um novo rótulo e ajuste o ID para LabelShowStringAsCookieState. Ajuste o evento PageLoad para ler o cookie protected void Page_Load(object sender, EventArgs e) { LabelShowString.Text = _str; LabelShowStringAsSessionState.Text = (String)Session["str"]; if (Request.Cookies["str"] == null) LabelShowStringAsCookieState.Text = String.Empty; else LabelShowStringAsCookieState.Text = (String)Request.Cookies["str"].Value; }

9 ASP.NET Passo a Passo Estado da Seção
Cookies Acrescente o tratamento do evento do quarto botão conforme abaixo. O cookie permanece armazenado no computador que acessa a aplicação até o prazo de expiração programado no próprio Cookie. Execute a aplicação e observe a diferença entre as funcionalidades dos botões. protected void Button4_Click(object sender, EventArgs e) { HttpCookie hc; hc = new HttpCookie("str", TextBox1.Text); // Criar cookie hc.Expires = DateTime.Now.AddMonths(1); // Define 1 mes para expirar Response.Cookies.Add(hc); LabelShowStringAsCookieState.Text = // Copia do cookie para rótulo (String)Response.Cookies["str"].Value; }

10 ASP.NET Passo a Passo Estado da Seção
Cookies Observe agora que mesmo após fechar o navegador e reabrir a informação armazenada no cookie é mantida.

11 ASP.NET Passo a Passo Estado da Seção
Cookies O cookie é armazenado no computador do cliente para apagar seu conteúdo tem que ser adicionado um cookie “limpo” com mesmo nome. Acrescente na página mais um botão, ajustando seu texto para “Limpar cookie”. Acrescente o tratamento do evento do novo botão conforme abaixo. Um cookie “limpo” será enviado ao computador do usuário apagando o conteúdo gravado anteriormente.

12 ASP.NET Passo a Passo Estado da Seção
Cookies protected void Button5_Click(object sender, EventArgs e) { HttpCookie hc; // Apagar cookie hc = Request.Cookies["str"]; // lê conteúdo do cookie if (hc != null) hc.Values.Clear(); // Limpa Conteúdo do cookie Response.Cookies.Add(hc); LabelShowStringAsCookieState.Text = // Copia para rótulo (String)Response.Cookies["str"].Value; }


Carregar ppt "ASP.NET Passo a Passo Estado da Seção"

Apresentações semelhantes


Anúncios Google