我对collectionpager和repeater有问题.当我加载页面时,collectionpager工作正常..但是当我单击搜索按钮并绑定新数据时,单击第2页链接,它将触发page_load事件处理程序并将所有数据重新带回…注意:全部控件位于UpdatePanel中.
protected void Page_Load(object sender,EventArgs e){ if (!IsPostBack) { kayit_getir("SELECT Tbl_Icerikler.ID,Tbl_Icerikler.url,Tbl_Icerikler.durum,Tbl_Icerikler.baslik,Tbl_Icerikler.gunc_tarihi,Tbl_Icerikler.kayit_tarihi,Tbl_Icerikler.sira,Tbl_Kategoriler.kategori_adi FROM Tbl_Icerikler,Tbl_Kategoriler where Tbl_Kategoriler.ID=Tbl_Icerikler.kategori_id ORDER BY Tbl_Icerikler.ID DESC,Tbl_Icerikler.sira ASC"); }} public void kayit_getir(string sql){ sqlConnection baglanti = new sqlConnection(f.baglan()); baglanti.Open(); sqlCommand komut = new sqlCommand(sql,baglanti); sqlDataAdapter da = new sqlDataAdapter(komut); DataTable dt = new DataTable(); da.Fill(dt); if (dt.Rows.Count > 0) { CollectionPager1.DataSource = dt.DefaultView; CollectionPager1.BindToControl = Liste; Liste.DataSource = CollectionPager1.DataSourcePaged; } else { kayit_yok.Text = "<br /><span class='message information'>Kayıt bulunamadı.</span>"; } da.Dispose(); baglanti.Close(); CollectionPager1.DataBind(); Liste.DataBind();} protected void search_Click(object sender,EventArgs e){ string adi = f.temizle(baslik.Text); string durum = Durum.SelectedValue; string kayit_bas_t = kayit_bas_tarih.Text; string kayit_bit_t = kayit_bit_tarih.Text; string kategori = kategori_adi.SelectedValue; string sql = "SELECT Tbl_Icerikler.ID,Tbl_Kategoriler where Tbl_Kategoriler.ID=Tbl_Icerikler.kategori_id and"; if (adi != "") { sql = sql + " Tbl_Icerikler.baslik LIKE '%" + adi + "%' and"; } if (kategori != "") { sql = sql + " Tbl_Icerikler.kategori_id=" + kategori + " and"; } if (durum != "") { sql = sql + " Tbl_Icerikler.durum='" + durum + "' and"; } if (kayit_bas_t != "") { sql = sql + " (Tbl_Icerikler.kayit_tarihi>'" + kayit_bas_t + "') and"; } if (kayit_bit_t != "") { sql = sql + " (Tbl_Icerikler.kayit_tarihi<'" + kayit_bit_t + "') and"; } sql = sql.Remove(sql.Length - 3,3); sql = sql + " ORDER BY sira ASC,ID DESC"; try { kayit_getir(sql); } catch { } Recursive(0,0);}