In questo esempio vediamo come utilizzare la classe HttpCookie.
La classe HttpCookie va istanziata con l'operatore new:
HttpCookie cookie = new HttpCookie(NameField.Text);
Nel costruttore viene passato il nome con cui si vuole creare un cookie.
Un cookie è un file di testo contenuto nel computer dell'utente che naviga nel sito.
Vediamo l'esempio completo la pagina
GestioneCookies.aspx.cs :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class GestioneCookies : System.Web.UI.Page
{
//Gestione dei cookies in lettura e scrittura
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
HyperLink1.Visible = true;
HyperLink1.NavigateUrl = "LeggiCookie.aspx?cookie=" + NameField.Text.ToString();
}
}
protected void click_invia(object sender, EventArgs e)
{
//Ora
HttpCookie cookie = new HttpCookie(NameField.Text);
//Assegniamo il valore al cookie
cookie.Value = ValoreField.Text;
//il cookie deve sparire dopo 1 minuto
DateTime dtNow = DateTime.Now;
TimeSpan tsminute = new TimeSpan(0, 1, 0, 0);
cookie.Expires = dtNow + tsminute;
//Scriviamo il cookie, mandandolo al Browser
Response.Cookies.Add(cookie);
Response.Write("Cookie è stato aggiunto!");
}
}
Ora il file GestioneCookie.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="GestioneCookies.aspx.cs" Inherits="GestioneCookies" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<div>
Cookie Nome
<asp:TextBox runat="server" ID="NameField"></asp:TextBox> <br />
Cookie Valore
<asp:TextBox runat="server" ID="ValoreField"></asp:TextBox> <br />
<asp:HyperLink runat="server" Text="Leggi Cookie" ID="HyperLink1" NavigateUrl="Read.aspx" Visible="false"></asp:HyperLink>
<asp:Button Text="Invia" runat="server" onclick="click_invia" />
</div>
</asp:Content>
Per leggere il cookie usiamo il file LeggiCookie.asp.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class LeggiCookie : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["cookie"] != null)
ReadCookies();
}
private void ReadCookies()
{
string CookieName = Request.QueryString["cookie"];
HttpCookie cookie = Request.Cookies[CookieName];
if (cookie == null)
{
Response.Write("Not Found!");
}
else
{
string valorecookie = cookie.Value;
Response.Write( "Il cookie contiene :" + valorecookie);
}
}
}
e LeggiCookie.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="LeggiCookie.aspx.cs" Inherits="LeggiCookie" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>
In sostanza per leggere un cookie dobbiamo :
HttpCookie cookie = Request.Cookies[CookieName];
Utilizziamo l'insieme Cookies da Request, mettendo come indice il nome del Cookie di cui vogliamo ritrovare il valore associato.
Per il corso di C# online:
http://www.corsilezioni.com/corso_c_sharp.html
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento