19 Ağustos 2010 Perşembe

div tagına onclick eventini ekleme

Html div tagına tıklanılabilir ve tıkladığında veri işlemesi yapması gereken bir tasarım sizin elinize ilk ulaştığında göreceğiniz ilk şey divin onclick eventinde çalışamayacağınızdır.
Fakat aşağıdaki yazılanları uyguladıktan sonra ise olabildiğini göreceksiniz :)
<div class="myclass" id="divSubmit" runat="server"> click me! div>
Sayfanın Load'ında divin onclick eventin referans atamasını yapıyoruz.
divSubmit.Attributes["onclick"] = Page.ClientScript.GetPostBackEventReference(this"divSubmit_Click");
İlgili sayfamıza veya usercontrolümüze IPostBackEventHandler interfacenin RaisePostBackEvent methodunu implement ediyoruz.
public partial class MyUserControl : System.Web.UI.UserControlIPostBackEventHandler
implement ettikten sonra ilgili methodun içerisine tıklanma anında yapılacak işlemi yazıyoruz.
#region IPostBackEventHandler Members
 
public void RaisePostBackEvent(string eventArgument)
{
    if (!string.IsNullOrEmpty(eventArgument))
    {
        if (eventArgument == "divSubmit_Click")
        {
            divSubmit_Click();
        }
    }
}
 
#endregion
protected void divSubmit_Click()
{
    // yapılacak işlemler
}
daha sonrasında yaptığımız işlemlerin düzgün şekilde çalıştığını görüp keyfimize bakıyoruz :)