Asp.Net ile Site İçi Arama Yapmak Detaylı Anlatım..

Sponsorlu Bağlantılar

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

psygnosisxxx

Üye
    Konu Sahibi
Asp.Net ile Site İçi Arama Yapmak Detaylı Anlatım..
Öncelikle Anlattığım Konunu Visual Studio Dosyasını indirebilirsiniz.
İlk Önce bir Master Page oluşturup... Bir TextBox ve bir Button atıyoruz..

Daha sonra Sitede Ara! butonunun click Event'inde aşağıdaki kodları yazıyoruz..



1) Textbox'a girilen değer bir kelimemi yoksa birden fazlamı onu kontrol ediyorum. Eğer içinde boşluk varsa birden fazladır.


2) Daha sonra textbox'taki değeri boşluğa göre Split edip bir diziye atıyorum.. Kelimeleri tek tek işleyebilmek için.


3) Querystring üzerinde kullanabilmek için string yol değişkeni değeri boş olacak şekilde tanımlıyorum.


4) Dizinin içinde dizinin boyutu kadar dönüyorum


5) ve yol değişkenin querystring yolu olcak şekilde oluşturuyorum.
bu for döngüsünün sonucu şu şekilde çıktı vericek...
kelime0=....&kelime1=...&


6) Yukardaki sorguyu oluştururken her dönüşte += yaparak üzerine ekleme yaptıgı için sonda bir tane " & " işareti fazladan olacak.. Onu substringle yol'dan çıkarıyorum..


7) Daha sonra Response redirectla arama sayfasına querystring yolunu veriyorum..
Şöyle bir çıktı olmuş oluyor.....
arama.aspx?kelime0=...&kelime1=....&....


8) Textbox Boşluk içermiyorsa tek kelimeyi querystring'le yolluyorum.


Master Page'ten 1 arama.aspx sayfası türetelim... ve ContentPlaceHolder içine bir tane DataList atalım...
Daha Sonra aşağıdaki kodları yazalım...





1) Kaç tane query var onu öğrenip queryCount değişkeninne atıyorum...
2) Az öncekine benzer şekilde.. Veritabanında arama yaptırcak sorgu değişkenini yine boş olucak şekilde tanımlıyorum..
3) Burda gelen QueryString'ler 1 den fazla ise Or kullanarak birden fazla sqlSorgusu oluşturuyorum..
4) queryString sayısı kadar dönüp sorguyu LIKE arama komutuyla bütün queryString verilerini arattıryorum...
5) Bunun çıktısı şu şekilde olur....


"makaleBaslik LIKE '%kelime0 or makaleBaslik LIKE '%kelime1 or.... %' or " şeklinde olcak..
6) Burası query sayısı 1 ise oluşacak sorgu..
7) Veri okuyorsa
8) Arama.aspx'e attıgım Datalist'e Bind ediyorum
9) Okumuyorsa hata sayfasına gönderiyorum.. Bu kadar.. Çalışmasını göreLim.. Çok güzel şekilde çalıştı yalnız bu kodlar sadece makale başlıklarında arama yapar içerikte arama yapmak istiyorsanız sorguyu çevirebilirsiniz kolay gelsin...


Projenin Çalışır halini linkten indirebilirsiniz.. Veritabanı kendi kodlarınıza göre ayarlayın..


Konu bana aittir alıntılama yaparsanız Nickimi alıntılayın lütfen


 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Benzer Konular



Üst Alt