Bir proje içinde masterpage ve altsayfalar var. Altsayfada bir gridview içinde verileri getiriyorum. Bir sütunda checkbox var. Yani her satırda checkbox bulunuyor. Şimdi işaretlenen checkbox ların bulunduğu kayıtları toplu bir şekilde silmek istiyorum. Ancak işaretli satırların idlerini alamadığım için (boş döndürüyor) Silme işlemi gerçekleşmiyor. İşin garibi eğer masterpagesi olmayan bir sayfada bunu yaparsam sorun yok. CheckBox chk = (CheckBox)row.FindControl("chksec"); kodu bir şekilde çalışmıyor. row.Cells[1].Text NewsId leri gösteren sutün. Bu kısımda hata yok.
Kod aşağıda:
protected void btndel_Click(object sender, EventArgs e) { OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("news.accdb")); string deleteditems = ""; foreach (GridViewRow row in GridView1.Rows) {
Sorunu çözdüm. Aslında olayın masterpage ile alakası yokmuş. İki kod arasında ufak bir şeyi gözden kaçırmışım. Sayfa kodlarında haberleri gösteren fonksiyon if (!IsPostBack) içinde olması gerekli yoksa checkbox.Checked çalışmıyor.
Sorunum şu:
Bir proje içinde masterpage ve altsayfalar var. Altsayfada bir gridview içinde verileri getiriyorum. Bir sütunda checkbox var. Yani her satırda checkbox bulunuyor.
Şimdi işaretlenen checkbox ların bulunduğu kayıtları toplu bir şekilde silmek istiyorum. Ancak işaretli satırların idlerini alamadığım için (boş döndürüyor) Silme işlemi gerçekleşmiyor. İşin garibi eğer masterpagesi olmayan bir sayfada bunu yaparsam sorun yok.
CheckBox chk = (CheckBox)row.FindControl("chksec"); kodu bir şekilde çalışmıyor.
row.Cells[1].Text NewsId leri gösteren sutün. Bu kısımda hata yok.
Kod aşağıda:
protected void btndel_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("news.accdb"));
string deleteditems = "";
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox chk = (CheckBox)row.FindControl("chksec");
if (chk != null & chk.Checked)
{
deleteditems += row.Cells[1].Text+",";
}
}
baglanti.Open();
string komut = "delete * from News where NewsId in (" + deleteditems.Remove(deleteditems.Length-1,1) + ")";
OleDbCommand cmd = new OleDbCommand();
cmd = new OleDbCommand(komut, baglanti);
cmd.ExecuteNonQuery();
cmd.Connection.Close();
griddoldur();
}
Masterpage varsa boş dönüyor. Masterpage yoksa çalışıyor ve id leri deleteditems içine virgülle ayırak yazıyor.
Bu sorunu nasıl çözebilirim?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi halken -- 19 Aralık 2014; 1:38:23 >