Öncelikle Master Page imizde bulunan TextBox'tan alacağımız veriyi tutacak bir static class değişkeni tanımlıyoruz.
public static class Sabits { public static string kelime{ get; set; } }
Sonrasında MasterPage'imizdeki arama butonununun click Event'inde TextBox'ın boş olup olmadığını kontrol ettikten sonra siz farklı validationlarda koyabilirsiniz. (Örn: Sadece harf sayı ve boşluk kontrolü )
protected void btnAra_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(txtAra.Value)) { Sabits.kelime = txtAra.Value; //TextBox'tan gelen değeri Static değişkenimize atıyoruz. Response.Redirect("ara.aspx"); // ve sonuç sayfamıza yönleniyoruz } else Response.Redirect("Buludugunuzsayfa.aspx"); //ya da uyarı verdirebilirsiniz }
Ara sayfasının Page_Load olayında..
kodstrapentities db = new kodstrapentities(); // veritabanı model örneğimiz protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Sabits.kelime)) { string aranan_kelime= Sabits.ara_kelime.ToLowerCase(); /* aranan kelimenin harflerini küçültüyorum. */ /* Makale tablomuzdaki kolonlarımız ToLower() yaparak Contains methotuyla aranan kelimenin kolon değerlerinde bulunup bulunmadığını kontrol ediyoruz ve sonucu bir değişkene atıyoruz. */ var sonuclar = db.Makale.Where(o =>o.baslik.ToLower().Contains(kelime) || o.icerik.ToLower().Contains(kelime) || o.tags.ToLower().Contains(kelime)).ToList(); /* Son olarak geriye bir sonuç dönüp dönmediğini kontrol ederek Repeater ya da Diğer Veri Kontrollerimize Bind Ediyoruz. */ if(sonuclar!=null&&sonuclar.Count()>0){ rptResults.DataSource = sonuclar; rptResults.DataBind(); } else{ //Uyarı yada başka bir sayfa yönlendirme } } else //Uyarı!! ya da yönlendirme } İyi Kodlar!