İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Asp.Net Site içi Arama Yapma Detaylı Anlatım

psygnosis

0
İyinet Üyesi
Katılım
19 Eylül 2010
Mesajlar
36
Reaction score
0
Öncelikle paylaştığım konunu visual studio dosyasını http://ul.to/iynrbo9e indirebilirsiniz.


Not: açılan sitede üst barda 5 ten geriye sayıcak bitince " Skip Ad "'e basın download sayfası gelicek

İlk Önce bir Master Page oluşturup... Bir TextBox ve bir Button atıyoruz..
arama_csharprogramyaz.blogspot.com.jpg.jpg

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


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...

datalisteNindEtmek_csharprogramyaz.blogspot2.jpg


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

 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst