Asp.Net QueryString Kullanımı


Twitter'da Paylaş Favorilerime Ekle

QueryString

Ziyaretçinin web sitemizde bir sayfadan başka bir sayfaya geçişi yada sayfanın sunucuya gidip geri gelmesi esnasında bazı bilgileri saklamak ve gerektiğinde tekrar kullanmak isteyebiliriz. Bu gibi durumlarda durum yönetimi nesneleri kullanılır. 

QueryString de bu nesnelerden biridir ve istenen bilgiyi gidilecek olan sayfanın adresine (url'sine) ekleyerek taşımamızı sağlar. 

Örneğin şu an adres çubuğuna bakarsanız bulunduğunuz adresin sonuna ?konu=148 şeklinde bir bilgi eklendğini görürsünüz.

? karakterinden sonra querystring ile taşınacak bilgiler yazılır ki bu kısım parametre ve değer olmak üzere iki kısımdan oluşur. Burada parametre konu, değeri ise 148'dir.. 

Birden fazla parametre ve değer taşınacak ise aralarına & karakteri konulur.

Örnek: ders.aspx?q1=Ali&q2=Yılmaz&q3=Esnaf

QueryString ile Veri Gönderme

Basit bir link ile QueryString'e veri ekleyebilir ve gönderebiliriz. Gönderilecek bilginin türü string'dir. Sayı da göndersek, metin de göndersek ayrıca tırnak içine alınmaz.

<a href="qsOku.aspx?bilgi=1057">1057 bilgisini gönder.</a>

C# kodu ile de aynı işlem yapılabilir. Bir sayfa oluşturalım ve butona tıklandığında textBox1'e girilen bilgiyi tercih.aspx sayfasına gönderelim.

 protected void Button1_Click(object sender, EventArgs e)
    {
        string sayi = TextBox1.Text;
        
        Response.Redirect("tercih.aspx?bilgi=" + sayi + "");
    }

QueryString Okuma

QueryString ile gelen veriyi okumak için Request.QueryString metodu kullanılır.

Kullanımı: 
Request.QueryString[ indexNo veya parametreAdi ] şeklindedir.

Köşeli parantezler içine taşınan bilginin parametre adı yazılacak ise tırnak içine alınarak yazılır.

İndex numarası kullanılacak ise ilk elemanın numarasının sıfırdan başlayacağı unutulmamalıdır.

Şimdi de tercih.aspx sayfasının Page_Load olayına aşağıdaki kodları yazalım. Bu sayede önceki sayfadan gönderilen gelenVeri isimli parametreyi okuyup istenen işlem yapılabilir. Örnekte alınan veri label içine yazılmıştır.

protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Request.QueryString["bilgi"];
    }

Okuma işlemi QueryString'teki parametrelerin index numaraları kullanılarak da yapılabilir.

protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = Request.QueryString[0];
    }

asp.net adres çubuğunda veri saklama, querystring nedir, querystring kullanımı örnekleri, response redirect, request querystring nasıl kullanılır

KONU İLE İLGİLİ ÖRNEKLER