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


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

psygnosisxxx

Üye
    Konu Sahibi
Ö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...


MaxiCep.com internet sitesi 5651 Sayılı Kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında Yer Sağlayıcı olarak faaliyet göstermektedir. İçerikler, ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

MaxiCep.com; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir.

MaxiCep.com’in yer sağladığı içeriğin 5651 Sayılı Kanun’un 8 ila 9. maddelerine aykırı şekilde; kişilik haklarınızı ihlal ettiğini ya da hukuka aykırı olduğunu düşünüyorsanız Buradan yada [email protected] mail adresine e-mail göndererek iletişime geçerek bildirebilirsiniz.

Bildirimleriniz dikkatle ve özenle incelenmekte olup kişilik haklarınızın ihlali ya da hukuka aykırılığın tespiti halinde mevzuat kapsamında en kısa sürede işlem yaparak bilgi vereceğiz.
Üst Alt