Response.Redirect("arama.aspx?kelime=" + TextBox1.Text + "");Şimdi arama.aspx sayfamıza kelime adında bir değer gönderdik. Gelecek değer textbox içinden gelecek değerdir. Şimdi o değeri sayfamıza alacağız. Şimdi arama.aspx sayfamızı tekrar açarak Page_Load kısmına şu kodları yazalım.
string gelen = guvenlik(Request.QueryString["kelime"].ToString());Şimdi de QueryString ile gelen değeri gelen adında bir değişkene atayıp ardından bir “guvenlik” adında süzgeçten geçirdik.
OleDbConnection baglanti = newOleDbConnection("Provider=Microsoft.jet.oledb.4.0; Data source=" + Server.MapPath("App_Data\\database.mdb")); baglanti.Open();Bağlantı nesnesi oluşturup bağlantıyı açıyoruz.
OleDbDataAdapter adapter = newOleDbDataAdapter("Select * From makale WHERE kategoriadi and baslik and aciklama LIKE '%" + gelen.Replace("'", "'") + "%'", baglanti);DataAdapter’i de oluşturduktan sonra iş bitmiş sayılır. Bütün iş sorguda bitiyor zaten. Bu sorgu farklı şekillerde kullanılabilir.
DataSet Ds = newDataSet(); adapter.Fill(Ds, "Tablo"); Repeater1.DataSource = Ds; Repeater1.DataBind();Bu işlemleri de yaptıktan sonra arama.aspx sayfasına bir Repeater ekliyoruz. Şimdi guvenlik süzgecinden bahsedelim.
publicstring guvenlik(string cevir) { cevir = Regex.Replace(cevir, ",", ""); cevir = Regex.Replace(cevir, "/", ""); cevir = Regex.Replace(cevir, "\n", ""); cevir = Regex.Replace(cevir, "/?", ""); cevir = Regex.Replace(cevir, "/*", ""); cevir = Regex.Replace(cevir, "'", ""); cevir = Regex.Replace(cevir, "&", ""); cevir = Regex.Replace(cevir, "<", ""); cevir = Regex.Replace(cevir, ">", ""); cevir = Regex.Replace(cevir, "=", ""); return cevir; }Bu güvenlik fonksiyonu sql injection için yazılmıştır. Tamamen güvenlik içindir ve yaygın olarak kullanılmaktadır. Bu sayede gelen değeri aldık. Şimdi Repeater’in içine yazılacak kodlara bakalım.
<asp:RepeaterID="Repeater1"runat="server"> <ItemTemplate> <%#Eval("baslik")%> ItemTemplate> <SeparatorTemplate> <hrstyle="border-style: dottednonenonenone; border-color: #C0C0C0; border-top-width: 2px;"/> SeparatorTemplate> asp:Repeater>Normal düzeyde bir site içi arama motoru bu şekilde tasarlanabilir.Ekleme çıkarmalar ile birlikte kendinizce uyarlayabilirsiniz. Asp.net ile site içi arama motoru yapımı işinize yarar umarım. İyi çalışmalar.