2014-10-30 46 views
0

我有擁有它定製的OnClientClick事件控制

<div class="modal modal-medium" id="modal-default-email"> 
      <asp:DefaultMailMessage ID="DefaultMailMessageID" runat="server" /> 
      <!-- /.modal-content --> 
     </div> 

我只是想創建一個客戶端點擊事件自定義控件一個div。怎麼樣?分享您的想法...

回答

0

您必須聲明您的事件控制權,實施IPostBackEventHandler以處理回傳事件,並註冊登錄信息端的例如GetPostBackEventReference(this, "Click")

或多或少是這樣

using System.Web.UI.HtmlControls; 

public class MyControl : CompositeControl, IPostBackEventHandler 
    { 
     //Declare event 
     public event EventHandler Click; 

     protected override void CreateChildControls() 
     { 
      //Creante your control 
      HtmlGenericControl div = new HtmlGenericControl("div"); 

      //set your property 

      //Set postback reference client-side 
      div.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(this, "Click")); 
     //Add control 
     Controls.Add(div); 
     } 

     protected virtual void OnClick(EventArgs e) 
     { 
      if (((this.Click != null))) 
      { 
       this.Click.Invoke(this, e); 
      } 
     } 

     public void RaisePostBackEvent(string eventArgument) 
     { 
      if ((object.ReferenceEquals(eventArgument, "Click"))) 
      { 
       this.OnClick(EventArgs.Empty); 
      } 
     } 
    } 

你看也http://msdn.microsoft.com/en-us/library/aa719907(v=vs.71).aspx

+0

這將是同爲onclient點擊?請確認 – 2014-10-30 08:06:48

+0

這個類管理從客戶端 – Fabio 2014-10-30 08:10:30

+0

div發射的點擊事件好吧...讓我試試這個,我會回到你的... – 2014-10-30 08:16:55