SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ

Benzer belgeler
MASTER PAGE SAYFASI KULLANIMI

VERİTABANINA BİLGİ KAYDEME, DÜZENLEME, LİSTELEME İŞLEMLERİ

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

İNTERNET TABANLI PROGRAMLAMA- 7.ders

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

SINIF İÇİ UYGULAMA KODLARI

BİLGİLERİ GRIDVIEW DE GÖRÜNTÜLEME VE DÜZENLEME

Kitap Ekle linki tıklandığında, admin.aspx sayfamızın görüntüsü aşağıdaki şekilde olacaktır.

Karabük Üniversitesi, Mühendislik Fakültesi... AJAX KULLANIMI

REQUEST QUERY STRING. Sayfalar: default.aspx ve sorgu_sayfasi.aspx. default.aspx sayfası: sorgu_sayfasi.aspx sayfası:

A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

Karabük Üniversitesi, Mühendislik Fakültesi... AJAX KULLANIMI

ASP.NET Web Kontrolleri

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 2 Asp.NET Sunucu Kontrolleri

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz.

İNTERNET TABANLI PROGRAMLAMA- 13.ders A-GRIDVIEW, DETAILSVIEW, ACCESSDATASOURCE NESNELERİ İLE BİLGİ GÖRÜNTÜLEME

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

GridView ve DetailsView kullanarak kayıt düzenlemek

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü seçiyoruz

ASP.NET DERS NOTLARI

CetaSoft Ofis E-Ticaret Modülü ile Sunulan Web Servisleri

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Yeni Web Sitesi Oluşturma: Visual Studio 2012 açılır. File>New>Web Site>C#-Asp Empty Site

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

ASP.NET ile Bir Web Sitesi Oluşturma

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 9 Tema Kullanımı

1 Aralık 2011 / Perşembe

Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve a bağlanıp 1 Mart tarihli sayfayı açıyoruz

Sağ Tıkla. 5 Ocak 2012 / Perşembe. Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

Response : Sunucunun istemciye veri yollamasını

Programlama Yazılımı ile Web Sitesi Oluşturma

PROGRAMLAMA DERSİ 1. İNTERNET

T.C. KARABÜK ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ BİLGİSAYAR SİSTEMLERİ ÖĞRETMENLİĞİ WEB TEKNOLOJİLERİ KONU : E-TİCARET SİTESİ LİNQ TO SQL

İNTERNET TABANLI PROGRAMLAMA

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

JSF Melih Sakarya. Java Server Faces Facelet

Web sayfalarında sayfa ile server arasındaki iletişim, HTTP protokolü ile gerçekleştirilir. Bu protokolde sunucuya gönderdiğimiz bilgiler, kendi

JavaScript Örnekleri PDF

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 8 Durum Yönetimi

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

İNTERNET TABANLI PROGRAMLAMA- 3.ders

FORM VE VALİDATION (Doğrulama) KONTROLLERI ÖRNEĞİ

SESSİON KULLANIMI. .Aşağıdaki Kodları da SessionDevam.asp adıyla kaydedelim. Language=VBScript Codepage="1254"%>

NAVĠGATĠON (SĠTE GEZĠNME) KONTROLLERĠ

24 Kasım 2011 / Perşembe

Karabük Üniversitesi, Mühendislik Fakültesi...

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

Columns : * Next Text Query veri tabanındaki urunler tablosu görülüyor. Finish, çalıştırınca direk veri tabanındaki bilgileri alıyor.

Görsel Programlama (Visual Programming) 2.Hafta

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

EĞİTİM : DURUM YÖNETİMİ VE TEMALAR. Bölüm : Durum Yönetimi. Konu : View State Management (Görünüm Durumu Yönetimi) Page 1 of 43

T.C. KARABÜK ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ BİLGİSAYAR SİSTEMLERİ ÖĞRETMENLİĞİ WEB TEKNOLOJİLERİ KONU : E-TİCARET SİTESİ LİNQ TO SQL

VeriTabanı Uygulamaları

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Görsel Programlama (Visual Programming) 2.Hafta

İNTERNET TABANLI PROGRAMLAMA

C#.Net & Linq (Language Integrated Query)

ASP.NET ÇALIŞMA NOTLARI

HTML Etiketleri Genel Özellikler (Global Attributes)

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

DURUM YÖNETİMİ (STATE MANAGEMENT) Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2.

DURUM YÖNETİMİ (STATE MANAGEMENT) Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Üst Düzey Programlama

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 1 Asp.NET Giriş

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

C# ve SQL Server ile Resim Yükleme ve Login İşlemi

Görsel Programlama (Visual Programming)

EĞİTİM : WEB UYGULAMALARI VE WEB KONTROLLERİ. Bölüm : Web Uygulamalarının Gelişimi. Konu : Web Sitesi Nedir? Page 1 of 59

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

ASP.NET SAYFA DETAYLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

WEB TABANLI PROGRAMLAMA

Đçindekiler. GVP için Hash Data Oluşturmak...2 FORM...5 VB.NET...6 C#...6 ASP...7 PHP...9 FORM...9 VB.NET C# ASP PHP...

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

11. STIL ŞABLONU (CSS) MENÜ İŞLEMLERİ

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

İçindekiler VB.NET C# ASP... 21

C# EĞİTİM ÇALIŞMASI. Gülhan AYDOĞAN AKKAŞ : Bilişim Teknolojileri Öğretmeni. 1.ToolBox : Properties Solution Explorer...

BİLİŞİM TEKNOLOJİLERİ

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Bölüm 10: PHP ile Veritabanı Uygulamaları

WEB FORM ELEMANLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

İnternet Programcılığı

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

Transkript:

İNTERNET TABANLI PROGRAMLAMA- 6.ders SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ SAYFALAR ARASI LİNK VERME Html Etiketi kullanarak Link Verme Bu amaçla <a href > </a> etiketleri kullanılır. Bu etikette açılan sayfa yeni bir sekmede oluşturulabilir. Bu amaçla Target= _blank kullanılır. Örnek: <body> <form id="form1" runat="server"> <div> SAYFA 1 <a href="default2.aspx" target="_blank"> SAYFA 2 YE GİDER </a> </div> </form> </body> Asp Nesnesi Hyperlink Kullanarak Link Verme Bu nesne tıpkı Html nesnesi <a href> gibi özelliklere sahiptir. Target özelliği ile yeni bir sayfa açılmasını sağlar. <asp:hyperlink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx" Target="_blank">SAYFA 2 YE GİDER</asp:HyperLink> Burada Asp nesnesi olduğunu etiketin başındaki <asp: ifadesinden ve runat= server ifadelerinden anlıyoruz. Runat=server demek bu kodun serverda çalıştırılacağını ve kullanıcıya gösterilmeyeceğini ifade etmektedir. Sayfanın Kaynak Kod kısmına baktığımızda buradaki asp ye ait olan kodları göremeyiz. Bunlar Html etiketlerine dönüştürülerek gösterilir. Yani asp sayfalarındaki nesneler kullanıcıya hiç bir zaman gösterilmez. SAYFA 1 <a href="default2.aspx" target="_blank"> SAYFA 2 YE GİDER </a> (HTML etiketi kullanılarak link verme) <a id="hyperlink1" href="default2.aspx" target="_blank">sayfa 2 YE GİDER</a> (ASP nesnesi kullanarak (Hyperlink) link verme)</div> 3. Asp Nesnesi LinkButton kullanarak Link Verme Bu nesne ile diğerlerinde olduğu gibi link verebiliriz fakat bu nesnenin Target özelliği yoktur. Button nesnensi oluduğu için Click olayının içerisine C# kodu yazabiliriz. C# kodu yazarak link vermek için ise aşağıdaki kodları inceleyiniz. Aspx. sayfası 1

<asp:linkbutton ID="LinkButton2" runat="server" onclick="linkbutton2_click">sayfa 2 YE GİDER</asp:LinkButton> Aspx.cs sayfası protected void LinkButton2_Click(object sender, EventArgs e) Response.Redirect("Default2.aspx"); 4. Asp nesnesi ImagButton kullanarak link verme Bu nesnede hem resim hemde link özelliğini beraber kullanarabiliriz. Target özelliği yoktur. Button özelliği olduğu için C# kodu kullanarak herhangi bir programı çalıştırıp o programdan sonra link verme amacıyla da kullanabiliriz. Aspx. sayfası <asp:imagebutton ID="ImageButton1" runat="server" ImageUrl="~/araba.jpg" Width="100px" onclick="imagebutton1_click" /> Aspx.cs sayfası protected void ImageButton1_Click(object sender, ImageClickEventArgs e) Response.Redirect("http://www.araba.com"); 5. Asp nesnesi Image ve Html nesnesi <a href> kullanarak link verme Bir resme tıkladığımızda açılan sayfanın yeni bir sekmede açılmasını isteyebiliriz. Bu amaçla Image nesnesi ile resmi görüntüleriz ve bunun dışına yazacağımız <a href > etiketi ve Target parametresi ile yeni bir sekmede açılmasını sağlayabiliriz. <a href="http://www.araba.com" target="_blank"> <asp:image ID="Image1" runat="server" ImageUrl="~/araba.jpg" Width="150px"/> </a> 6. Normal Asp Button ile Link Verme Normal Asp button nesnesi ile de Link verme işlemi yapabiliriz. Bunun için button un PostBackUrl özelliğini kullanabiliriz yada Click olayının içerisine Response.Redirect() yazabiliriz. <asp:button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" Width="154px" /> 2

Örnek Uygulama Aspx. Sayfa sı <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!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>untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> SAYFA 1 <a href="default2.aspx" target="_blank"> SAYFA 2 YE GİDER </a> (HTML etiketi kullanılarak link verme) <asp:hyperlink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx" Target="_blank">SAYFA 2 YE GİDER</asp:HyperLink> (ASP nesnesi kullanarak (Hyperlink) link verme) <asp:linkbutton ID="LinkButton2" runat="server" onclick="linkbutton2_click">sayfa 2 YE GİDER</asp:LinkButton> (ASP nesnesi LinkButton ile link verme) <a href="http://www.araba.com" target="_blank"> <asp:imagebutton ID="ImageButton1" runat="server" ImageUrl="~/araba.jpg" Width="100px" /> 3

</a> (ASP nesnesi ImageButton nesnesi ile link verme) <a href="http://www.araba.com" target="_blank"> <asp:image ID="Image1" runat="server" ImageUrl="~/araba.jpg" Width="150px" /> </a> <asp:button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" Width="154px" /> </div> </form> </body> </html> Aspx.cs Sayfası using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page protected void LinkButton2_Click(object sender, EventArgs e) Response.Redirect("Default2.aspx"); Örnek: Sayfada Kullanıcı adını ve şifreyi alıp, kişinin şifresi doğru ise diğer sayfaya yönlendiren, yanlışsa Şifre yanlıştır diyen bir program yazın. 4

protected void Button1_Click(object sender, EventArgs e) string Kullanici = TextBox1.Text; string Sifre = TextBox2.Text; Örnek: if (Kullanici == "ali" && Sifre == "123") Response.Redirect("Sayfa2.aspx"); else Response.Write("ŞİFRE YANLIŞTIR"); Basit bir hesap makinası programı yazın. Aspx.cs kodları using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; 5

public partial class _Default : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) double Sayi1, Sayi2, Sonuc=0; Sayi1 = Convert.ToDouble(TextBox1.Text); Sayi2 = Convert.ToDouble(TextBox2.Text); if (RadioButton1.Checked == true) Sonuc = Sayi1 + Sayi2; else if (RadioButton2.Checked == true) Sonuc = Sayi1 - Sayi2; Label1.Text = Sonuc.ToString(); Aspx kodları <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sayfa1.aspx.cs" Inherits="_Default" %> <!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>untitled Page</title> <style type="text/css">.style1 width: 57px;.style2 width: 226px; </style> </head> <body> <form id="form1" runat="server"> <div style="text-align: center"> <b>hesap MAKİNASI</b> <table> <tr style="background-color: #FFFFCC"> <td class="style1"> Sayı 1</td> <td class="style2"> <asp:textbox ID="TextBox1" runat="server"></asp:textbox> </td> 6

</tr> <tr style="background-color: #FFFFCC"> <td class="style1"> Sayı 2</td> <td class="style2"> <asp:textbox ID="TextBox2" runat="server"></asp:textbox> </td> </tr> <tr style="background-color: #CCFFFF"> <td class="style1"> İşlem</td> <td class="style2"> <asp:radiobutton ID="RadioButton1" runat="server" GroupName="IslemTuru" Text="Topla" /> <asp:radiobutton ID="RadioButton2" runat="server" GroupName="IslemTuru" Text="Çıkar" /> </td> </tr> <tr> <td class="style1"> </td> <td class="style2"> <asp:button ID="Button1" runat="server" onclick="button1_click" Text="Hesapla" Width="128px" /> </td> </tr> <tr> <td class="style1"> Sonuç</td> <td class="style2"> <asp:label ID="Label1" runat="server" Font-Bold="True"></asp:Label> </td> </tr> </table> </div> </form> <p> </p> </body> </html> 7

SAYFALAR ARASINDA DEGİŞKEN TAŞIMA (BİLGİ TAŞIMA) YÖNTEMLERİ QueryString (Link ile Değişken Taşıma) Kullanımı: using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default2 : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) string Kullanici = null; string Sifre = null; Kullanici = TextBox1.Text; Sifre = TextBox2.Text; if (Kullanici == "Ali" && Sifre == "123") Response.Redirect("Default2.aspx?KullaniciAdi=" + Kullanici + "&UyeDurumu=Dogru"); 8

Link http://localhost:49236/website159/default2.aspx?kullaniciadi=ali&uyedurumu=dogru using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default3 : System.Web.UI.Page string Kullanici =Request.QueryString["KullaniciAdi"]; string Uye = Request.QueryString["UyeDurumu"]; if (Uye == null) Response.Write("Griş Yetkiniz Yoktur"); else if (Uye == "Dogru") Response.Write("Merhaba " + Kullanici); Araştırın Sayfalar arasında değişkenleri taşırken şifrelenerek taşıma konusunu araştırın. Session (Oturum Açma) Kullanımı: 9

Cookie lere benzemekle birlikte daha küçük ölçekli verilerin oturum boyunca saklanmasını sağlayan değişken tanımlamasıdır. Session sayesinde kullanıcıya ait verileri oturum boyunca kullanabiliriz. Ne zamanki browser kapatılır o zamanda oturum sona erer. Oturum boyunca ziyaretçiye özel hizmetler sunmak istediğimizde o ziyaretçinin sayfalar arasında geçişte tanınıyor olması gerekir. Ziyaretçi oturum açtığında sunucu o kullanıcıya ait bir ID numarası atar ve bunu oturum boyunca saklar. Böylece oturum boyunca belirlenen ID ile ziyaretçiyi tanır. Oturum açmak için aşağıdaki komutlardan biri kullanılır. Session[ DegiskenIsmi ]=Deger Session degişkeninin içindeki bilgiyi okumak için ise Session[ DegiskenIsmi ] Örnek: Bir kullanıcı adı (AliSu) ve Sifre (123) girişi yapın. Eğer bilgiler doğru ise başka bir sayfaya gönderin. Açılan yeni sayfada kullanıcıya Merhaba Ali desin. Default1.aspx using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default2 : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) string Kullanici = null; 10

string Sifre = null; Kullanici = TextBox1.Text; Sifre = TextBox2.Text; if (Kullanici == "Ali" && Sifre == "123") Session.Timeout = 1; Session["KullaniciAdi"] = Kullanici; Response.Redirect("Default2.aspx"); Default2.aspx using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default3 : System.Web.UI.Page try string Kullanici = Session["KullaniciAdi"].ToString(); Response.Write("Merhaba " + Kullanici); catch Response.Write("Oturumunuz Sona Ermiştir"); 11

Eğer browserlar kapatılıp Sayfa2.aspx tek başına çalıştırılırsa Session sona erdiği için yukarıdaki kodlara göre aşağıdaki ekran çıktısı ortaya çıkar. Session Degiskenlerini Saklama Yöntemleri: 3 yöntemle saklanır. a) InProc: Yöntemi: Sessionlar IIS da belirtilen süre için hafızada tutulur. Bu modda değerlere ulaşmak son derece hızlıdır. Ancak bir terslik meydana gelip server yeniden başlatılırsa bütün değerler kaybolur. Buda büyük ciddi bir site için sorundur. b) StateServer: IIS den bağımsız herhangi başka bir servistir. Bilgiler burada saklanır. IIS den bağımsızdır ve başka bir web serverda kullanabilir. c) SqlServer: Bilgiler SQL serverda saklanır. Daha yönetilebilir güvenli bir yapı sunar. Hangi metodu kullanılacağımızı web.config dosyasında belirtlmeliyiz. Eğer belirtmezsek InProc metodunu kullanır. Örnek bir kod aşağıda verilmiştir. <configuration> <sesssionstate> /> Mode= sqlserver Cookieless= false Timeout= 20 Sqlconnectionstring= data source=sqlserver; User id=ali; Password=123 Server= 127.0.0.1 Port= 1256 </configuration> Session Süresi: Eğer session oluşturulurken süresini de belirlemek istersek aşağıdaki gibi bu işlemi yapabiliriz yada yukarıdaki gibi web.config içerisinde düzenleyebiliriz. Session Sonlandırma: Kullanıcı siteden çıktığında oturumu kapatmak için sesssion sonlandırmak gerekir. Bunun için Session.abandon(); kullanılır. Session.Timeout = 1 Session.Add("Kullanici", TextBox1.Text). Cookie (Çerez) Kullanımı: 12

using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default2 : System.Web.UI.Page protected void Button1_Click(object sender, EventArgs e) string Kullanici = null; string Sifre = null; Kullanici = TextBox1.Text; Sifre = TextBox2.Text; if (Kullanici == "Ali" && Sifre == "123") HttpCookie Cerez = new HttpCookie("Cerez"); //Çerez atıyor.. Cerez.Values["KullaniciAdi"] = Kullanici ; //kullanici adini çereze atıyor.. Response.Cookies.Add(Cerez); // Çerezi atıyor.. Response.Redirect("Default2.aspx"); 13

using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class Default3 : System.Web.UI.Page if (Request.Cookies["Cerez"] == null) //Çerezin içi boş ise Sifre Girişi yapılan ilk sayfaya gidecek... Response.Write("Oturum Sona Ermiştir"); //Response.Redirect("Default1.aspx"); else Response.Write("Siteye Hoş Geldiniz"); Örnek 14

Default.aspx protected void Button1_Click(object sender, EventArgs e) string Kullanici = TextBox1.Text; string Sifre = TextBox2.Text; if (Kullanici == "ali" && Sifre == "123") HttpCookie Cerez = new HttpCookie("Cerez"); Cerez.Values["KullaniciAdi"] = Kullanici; Cerez.Values["Sifre"] = Sifre; //Çerez atıyor.. //kullanici adini çereze atıyor.. Cerez.Expires = DateTime.Today.AddDays(1); Response.Cookies.Add(Cerez); // Çerezi atıyor.. Response.Redirect("Default2.aspx"); Default2.aspx if (Request.Cookies["Cerez"]!= null) string KullaniciAdi = Server.HtmlDecode(Request.Cookies["Cerez"]["KullaniciAdi"]).ToString(); string Sifre = Server.HtmlDecode(Request.Cookies["Cerez"]["Sifre"]).ToString(); Response.Write("Hoşgeldin " + KullaniciAdi + " Şifren =" + Sifre); else Response.Write("Sayfaya Yetkiniz Yoktur"); Tarayıcının Çerez Desteği Kullanıcı isterse Tarayıcının Çerez desteğini kapatabilir. Bu durumda çerezler çalışmaz. Bunu öğrenmek için aşağıdaki kodlar kullanılabilir. 15

if (Request.Browser.Cookies) Response.Write("ÇEREZ DESTEĞİ VAR"); else Response.Write("ÇEREZ DESTEĞİ YOK!!!"); 16