Tisková verze článku  Poslat článek e-mailem  4. listopadu 2010 | Radek Kropík | Komentáře (2)      

Použití cookies v ASP.NET

V tomto článku si ukážeme, jak lze jednoduše pracovat v ASP.NET s cookies, jak cookies uložit na klientovi a poté zpětně přečíst. Součástí článku je ukázka, ve které do cookies uložíme obsah TextBoxu a po novém přístupu na ukázkovou stránku tento TextBox naplníme daty z uložené cookie.

Pracujeme s cookies

Při práci s cookies budeme požívat třídu HttpContext z jmeného prostoru System.Web. Dále budeme používat objekty z této třídy a to Response pro zápis a Request pro čtení.

Nejprve si vytvoříme webový formulář, do kterého umístíme jeden TextBox, který použijeme pro demonstraci použití cookies. Nesmíme také zapomenout na Button, který uloží obsah TextBoxu do cookie.

<!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>Používáme cookies</title>
</head>
<body>
  <form id="form1" runat="server">
   <div>
     <asp:TextBox ID="tbJmeno" runat="server" />
     <asp:Button ID="Button1" runat="server" Text="Ulož cookie" />
   </div>
  </form>
</body>
</html>

Dále do metody PageLoad, která je prováděna vždy při načítání stránky, přidáme kód, kterým budeme zjišťovat, zda je cookie již u klienta uložena a pokud ano, načteme ji do TextBoxu. Nejprve si vytvoříme novou instanci cookies, kterou nazveme např. ulozenaCookie a pokusíme se jí přiřadit hodnotu uložené cookie. Pokud není hodnota z cookie přečtena (ať už z důvodu, že klient nepodporuje cookies, nebo přistoupil na naši aplikaci poprvé), bude naše cookie samozřejmě null a TextBox zůstane prázdný. Pokud získaná cookie existuje, zobrazíme její hodnotu v TextBoxu.

protected void Page_Load(object sender, EventArgs e)
{
 if (!IsPostBack)
  {
   HttpCookie ulozenaCookie = new HttpCookie("naseCookie");
   ulozenaCookie = Request.Cookies["naseCookie"];
   if (ulozenaCookie!= null)
     {
       tbJmeno.Text = ulozenaCookie.Value;
     }
   }
  
}

Pokud cookie ještě neexistuje nebo její hodnotu chceme změnit, vyplníme TextBoxt hodnotou, kterou do cookie chceme uložit a klikneme na tlačítko Ulož cookie, což vyvolá metodu Button1_Click, pomocí které uložíme hodnotu TextBoxu do cookie.

protected void Button1_Click(object sender, EventArgs e)
{
   HttpCookie ulozenaCookie = new HttpCookie("naseCookie");
   ulozenaCookie.Value = tbJmeno.Text;
   ulozenaCookie.Expires = DateTime.Now.AddYears(1);
   Response.Cookies.Add(ulozenaCookie);
}

V této metodě nejprve vytvoříme instanci cookie, kterou nazveme třeba opět ulozenaCookie. Hodnotu této cookie nastavíme na text, který získáme z TextBoxu. Poté nastavíme platnost této cookie na jeden rok. Pokud bychom toto nenastavili, platnost cookie vyprší se zavřením prohlížeče. No a nakonec tuto cookie přidáme co kolekce cookies pomocí metody Add(), kterou aplikace odešle klientovi v Response.Cookies. Tím by měla být hodnota cookie uložena u klienta a pokud si znovu zobrazíme testovací stránku, měl by být obsah TextBoxu roven hodnotě cookie, kterou jsme uložili.

Tímto jsme si popsali základní práci s cookies. Jak je vidět, používání cookies není nijak složité a jistě najdete vhodné použití cookies ve své webové aplikaci.


Radek Kropík



Komentáře k článku


Příspěvky vyjadřují stanovisko čtenářů, nikoliv provozovatelů serveru a redakce nenese odpovědnost za jejich obsah.

        #1
Gravatar
ps

Pěkný článeček.

        #2
Gravatar
Fantomasmag

ps: Děkuji a jsem rád že se článek líbil ;)




     Komentáře k tomuto článku byly již uzavřeny.


Novinky a oznámení

23.03.12 - Komentáře k článkům byly dočasně uzavřeny a to z důvodu nárůstu útoků spamerů. Nyní usilovně pracujeme na nové ochraně před těmito spamery a brzy komentáře opět otevřeme. Děkujeme za pochopeni.

19.10.11 - Nyní najdete nově u každého článku ikonu obálky. Pokud na ní kliknete, budete moci odeslat odkaz na vybraný článek na e-malovou adresu, kterou zadáte v zobrazivším se formuláři. Odpadá vám tak nutnost pro odeslání odkazu na zajímavý článek spouštět e-mailového klienta a zakládání nového e-mailu.

11.10.11 - Nově v magazínu naleznete tzv. QR kód, který obsahuje vždy adresu právě zobrazené stránky. Pokud máte zobrazenou některou z kategorií článků, obsahuje QR kód adresu této kategorie, pokud máte zobrazený článek, QR kód obsahuje adresu zobrazeného článku, v ostatních případech obsahuje QR kód hlavní adresu magazínu.


QR kód článku

QR kód článku

Aktualizace e-mailem

Nechcete, aby vám unikl nový článek? Není nic jednoduššího, než se zaregistrovat a kdykoliv vyjde v magazínu nový článek, dáme vám vědět e-mailem.




Ikonka pro Vás

Líbí se vám tento magazín a rádi byste ho nějak podpořili? Pokud máte své webové stránky, budeme vám vděčni, pokud si na ně přidáte naší ikonku. Stačí přidat na váš web HTML kód, kderý najdete zde.


Partnerské weby


Naši fanoušci na Facebooku


Statistika


Reklama