PDA

Tam Sürümünü Görmek İçin : Sil Butonları


deggial
21/12/2007, 00:22
selamlar.
ASP.NET C#

Kullanıcıların özel mesajlarını gösteren bir sayfada takıldım.

GridView kullanmak istemiyorum çünkü, veritabınından gelen mesajTipi sütunu değerine göre mesajın gösterim biçimi farklı şekillerde olacak.

Bu yüzden sayfa yüklenmesi esnasında gerekli kontrollerimi yaparak mesajları
DIV_mesajlar.InnerHtml = "mesajlar . .. . .. .. ."
tarzında gösteriyorum.
Ancak her mesajın yanına da bir Sil butonu yerleştirmem lazım.

yani şöyle diyeyim.

DIV_mesajlar.InnerHtml = DIV_mesajlar.InnerHtml + "<a href=?????????>Sil</a> <span style='margin-left:20px'> Özel Mesaj >> Gönderen: " + sql_reader["gonderen"].ToString() + ", Konu: " + sql_reader["konu"].ToString() + " </span><br/>";şeklinde...

<a href=??????


yazılı kısımda __doPostBack kullanarak
public void MesajSil(Int32 mesajID)

isimli fonksiyonumu nasıl çağırabilirim???

<a href=\"javascript:__doPostBack('MesajSil','" + sql_reader["mesajID"].ToString() + "');\">Sil</a> şeklinde denedim, postBack oldu ancak kod bir işe yaramadı.


İşin özü sorum şudur:
javascript ile __doPostBack fonksiyonunu çağırarak, C# kod taradındaki bir void'i çalıştırmam mümkün müdür. Nasıl çıkarım bu işin altından??

..


UuuR
21/12/2007, 01:32
dopostback kullanılarak sanırım a href yerine linkbutton kullanman gerekecek ( server control olması gerekiyor (sanırım) )
__doPostBack(eventTarget, eventArgument) aldığı parametrelerden öyle anlıyorm..

deggial
21/12/2007, 12:50
Ben de öyle düşünüyordum ama bir nesneye gerek yokmuş.

__doPostBack('mesajsil','77');

Buradaki 77 değerini yakalamak için PageLoad'da



if (Page.IsPostBack == true)
{
if (Request.Form["__EVENTTARGET"] == "mesajsil")
{
String silID = Request.Form["__EVENTARGUMENT"].ToString();
MesajSil(silID);
}
}

ile çalıştı istediğim şey.


Ancak, Ajax ile çalışılacaksa, bu yöntemde bi Trigger atanamayacağı için, Sil link'leri UpdatePanel içinde bile olsa normal AJAX'sız postBack yapıyor.

O yüzden sadece bir adet gizli LinkButton koydum, ve üretilen Sil link'lerinde de silinecek ID numarasını yine eventArgument olarak göstererek o LinkButton'a doPostBack yaptırdım, sorun tamamen çözüldü şimdi.


Her şey çok güzel =]