REQUEST QUERY STRING Kullanıcıdan gelen düzenlenmiş verileri sunucuya iletir. Diğer bir ifade ile internet tarayıcısından sunucuya veri aktarır. Aynı işlemi farklı yollarla yapabiliriz. İlk olarak Redirect kullanarak yapacağız. Sayfalar: default.aspx ve sorgu_sayfasi.aspx default.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Ders3._default" %> private void Page_load(Object nesne, EventArgs e) Response.Redirect("sorgu_sayfasi.aspx?ders=programlama_dilleri&bolum=BOTE"); sorgu_sayfasi.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sorgu_sayfasi.aspx.cs" Inherits="Ders3.sorgu_sayfasi" %> Response.Write(Request.QueryString["bolum"]); Response.Write("<br>"); Response.Write(Request.QueryString["ders"]); 1
BAŞKA SAYFA KONTROLLERİNİ ELDE ETME (CROSS-PAGE POSTING) Bazı durumlarda bir sayfadan başka bir sayfaya geçişte ana sayfadaki kontrollerin ve bazı yapısal elemanların değerlerini de taşımak isteriz. Bunu cross-page mantığı ile yapabiliriz. Sayfalar: sayfa1.aspx ve sayfa2.aspx Sayfa1.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sayfa1.aspx.cs" Inherits="Ders3.sayfa1" %> Ad: <asp:textbox ID="ad" runat="server"></asp:textbox><br /> <asp:button runat="server" ID="buton" PostBackUrl="sayfa2.aspx" Text="Sayfa 2 ye gönder" /> Sayfa2.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sayfa2.aspx.cs" Inherits="Ders3.sayfa2" %> private void Page_Load(Object nesne, System.EventArgs e) if (PreviousPage!= null) etiket.text = ((TextBox)PreviousPage.FindControl("ad")).Text; <asp:label ID="etiket" runat="server" Text="yazi"></asp:Label> 2
HTTPCOOKIE NESNESİ Kullanıcının oturum boyunca hatta ileriki bir zamanda bağlandığı durum için kullanabileceğimiz özel değişken tanımları vardır. Bunlardan bir tanesi Cookie ler ile yapılan tanımlamalardır. Diğeri ise Session değişkenleridir. İlk olarak Cookie leri inceleyelim. Cookie oluşturma: Response.Cookies* renk +.Value= kırmızı ; bu şekilde renk isminde bir cookie oluşturuyoruz ve değerini kırmızı olarak atıyoruz. Cookie nin değerini tekrar elde etmek için: Response.Write (Request.Cookies* renk +.Value.ToString); bu kodu kullanıyoruz. cookie1.aspx sayfası : <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="cookie1.aspx.cs" Inherits="Ders3.cookie1" %> Response.Cookies["renk"].Value = "Mavi"; private void sayfa_atla(object nesne, EventArgs e) Response.Redirect("cookie2.aspx"); <asp:button ID="buton" runat="server" Text="Gönder" OnClick="sayfa_atla" /> sorgu2.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="cookie2.aspx.cs" Inherits="Ders3.cookie2" %> Response.Write(Request.Cookies["renk"].Value.ToString()); 3
SESSION (OTURUM) DEĞİŞKENLERİ Cookie lere çok 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ılara ait verileri sayfalar arası kullanabiliriz. Session oluşturmak için: Session.Add(değişken_ismi, değer); veya Session* değişken_ismi + = değer; kodları kullanılır. Session2.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="session1.aspx.cs" Inherits="Ders3.session1" %> Session["renk"] = "mavi"; <asp:button ID="buton" runat="server" Text="Gönder" PostBackUrl="session2.aspx" /> 4
session2.aspx sayfası: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="session2.aspx.cs" Inherits="Ders3.session2" %> Response.Write("Renk = " + Session["renk"]); 5