2014-11-08 159 views
0

我想在點擊div標籤時提出回發事件,我們正在用Asp按鈕進行操作。單擊div標籤點擊回發事件,就像ASP按鈕點擊

目前我正在嘗試這樣。

protected void Page_Load(object Sender, EventArgs E) 
{ 
    MyDiv.Attributes["onclick"] = 
       ClientScript.GetPostBackEventReference(this, "MyDiv_Click"); 
} 

public void RaisePostBackEvent(string eventArgument) 
{ 
     if (!string.IsNullOrEmpty(eventArgument)) 
      { 
       if (eventArgument == "MyDiv_Click") 
       { 
        MyDiv_Click(); 
       } 
      } 
     } 

protected void MyDiv_Click() 
{ 
// My Implementation 
} 

該怎麼辦?

+2

抱歉,這不是在這裏提出一個問題的好辦法。你有沒有嘗試_anything_到目前爲止解決你的問題?首先顯示你的努力,以便人們可以展示他們的努力請閱讀[FAQ],[問]和[幫助]。 – 2014-11-08 10:33:58

+0

我正在嘗試使用RaisePostBackEvent,但它不會觸發事件 – Srinivas 2014-11-08 10:38:23

+0

@Srinivas請看這個鏈接請:http://stackoverflow.com/questions/9294626/execute-serverside-code-on-div-click – 2014-11-08 11:20:55

回答

0

你需要Page_PreRenderPage_Load註冊GetPostBackEventReference,檢查 Request["__EVENTARGUMENT"],如果是MyDiv_Click和頁面張貼回,然後調用MyDiv_Click

全碼

protected void Page_PreRender(object sender,EventArgs e) 
{ 
    MyDiv.Attributes["onclick"] = 
     ClientScript.GetPostBackEventReference(this, "MyDiv_Click"); 
} 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (IsPostBack && Request["__EVENTARGUMENT"] != null && Request["__EVENTARGUMENT"] == "MyDiv_Click") 
    { 
     MyDiv_Click(); 
    } 
} 

截圖 -

enter image description here