Você está aqui: ASP.NET ::: Dicas & Truques ::: Cookies

Como testar se o navegador (browser) do usuário suporta cookies e se estes estão habilitados

Quantidade de visualizações: 8608 vezes
Em algumas situações gostaríamos de verificar se o browser do usuário suporta cookies e se estes estão habilitados. Esta dica mostra como isso pode ser feito em suas aplicações ASP.NET.

Sabemos que o usuário pode desabilitar os cookies em seu navegador. Sabemos também que nenhum erro é exibido pela página ASP.NET caso não consigamos ler ou gravar cookies no computador do usuário. Para aplicações que dependem de cookies, esta é uma situação que pode trazer muita dor de cabeça.

Uma das formas mais confiáveis de se verificar se os cookies são suportados e se estão habilitados, é tentando gravar e depois ler o valor de um cookie. Para isso usaremos duas páginas ASP.NET. Veja o código para a primeira (Default.aspx):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="Default.aspx.cs" Debug="true"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Estudos ASP.NET</title>
</head>
<body>

<form id="form1" runat="server">
  
  <asp:Button ID="Button1" runat="server" Text="Gravar valor em cookie" 
    onclick="Button1_Click" />
  
</form>

</body>
</html>

Nesta página temos apenas um botão <asp:Button>. Veja a implementação de seu evento Click no arquivo de code-behind Default.aspx.cs:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page {
  protected void Button1_Click(object sender, EventArgs e){
    // vamos gravar um cookie e direcionar para uma segunda página
    Response.Cookies["teste_cookie"].Value = "ok";
    
    // vamos definir o tempo de vida do cookie
    Response.Cookies["teste_cookie"].Expires = 
      DateTime.Now.AddMinutes(1);
    
    // vamos direcionar para a página de teste
    Response.Redirect("Pagina2.aspx");
  }
}

Note que aqui nós criamos um cookie chamado "teste_cookie" e definimos sua data de expiração para daqui a 1 minuto. Em seguida nós direcionamos o browser para uma página Pagina2.aspx. Veja o código para esta segunda página:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<%@ Page Language="C#" AutoEventWireup="true" 
CodeFile="Pagina2.aspx.cs" Inherits="Pagina2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <asp:Label ID="Label1" runat="server" 
      Text="Resultado do texto de cookies"></asp:Label>
    
    </div>
    </form>
</body>
</html>

Nesta página Pagina2.aspx nós temos apenas um controle <asp:Label>, que exibirá um texto nos informando se cookies estão habilitados ou não. Veja agora o código para o evento Page_Load desta página no arquivo de code-behind Pagina2.aspx.cs:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Pagina2 : System.Web.UI.Page{
  protected void Page_Load(object sender, EventArgs e){
    // vamos verificar a existência do cookie "teste_cookie"
    // se este existir é sinal de que o browser aceita cookies
    if(Request.Cookies["teste_cookie"] == null){
      Label1.Text = "O browser não aceita cookies";
    }
    else{
      Label1.Text = "O browser aceita cookies";
      
      // vamos excluir o cookie
      Response.Cookies["teste_cookie"].Expires =
        DateTime.Now.AddDays(-1);
    }
  }
}

Execute a aplicação e clique no botão. Se cookies estiverem habilitados a segunda página será exibida com a mensagem "O browser aceita cookies". Caso contrário a mensagem será "O browser não aceita cookies".

Link para compartilhar na Internet ou com seus amigos:

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Noções de licitação pública

A prefeitura de um município do interior do Estado de Santa Catarina precisa realizar uma licitação para a aquisição de bens de informática considerados comuns, como impressoras, cartuchos, laptops, estabilizadores, etc. A modalidade de licitação mais indicada é:

A) convite.

B) leilão.

C) concurso.

D) pregão.

E) concorrência.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As fundações rasas ou diretas apresentam como características a transmissão da carga ao terreno, predominantemente pelas pressões distribuídas sob a base da fundação, e a profundidade de assentamento em relação ao terreno inferior a duas vezes a menor dimensão da fundação.

Sobre as fundações superficiais rasas ou diretas, assinale a alternativa correta.

A) A sapata associada pode ser definida como a sapata sujeita à ação de uma carga distribuída linearmente ou de pilares ao longo de um mesmo alinhamento.

B) O radier é o elemento de fundação superficial que abrange parte ou todos os pilares de uma estrutura, distribuindo os carregamentos.

C) A sapata corrida é definida como a sapata comum a mais de um pilar. Devido a essa particularidade, para sua execução é necessário o uso de máquinas.

D) A sapata é dimensionada de modo que as tensões de tração nela resultantes sejam resistidas pelo concreto, sem necessidade de armadura.

E) O bloco é dimensionado de modo que as tensões de tração nele resultantes sejam resistidas pelo emprego de armadura disposta para esse fim.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Viscosidade dinâmica

A viscosidade cinemática de um óleo lubrificante é de 0,028m2/s, e seu peso específico relativo é de 0,85. Qual a sua viscosidade dinâmica, em Pa.s? Sabe-se que a aceleração gravitacional local é de 10m/s2.

A) 233Pa.s.

B) 85Pa.s.

C) 85000Pa.s.

D) 23,8Pa.s.

E) 2,38Pa.s.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Dentro de qual elemento HTML nós inserimos nossos códigos JavaScript?

A) <js>

B) <scripting>

C) <javascript>

D) <script>
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Alvenaria: Técnicas construtivas

As alvenarias possuem espessuras variáveis, e o posicionamento dos tijolos ou blocos é item do projeto que influencia no desempenho da edificação e no isolamento térmico e acústico, por exemplo. Quando a alvenaria é erguida tendo tijolo maciço no sentido de sua menor espessura, denomina-se alvenaria de:

A) Meio tijolo.

B) Um tijolo.

C) Cutelo.

D) Um tijolo e meio.

E) Oca.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de ASP.NET

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 59 usuários muito felizes estudando em nosso site.