2017-06-14 65 views
0

我寫了許多搜索這個代碼後卻不能正常工作
我需要創建爲ASP背後:編程按鈕,並處理它如何創建一個asp:在C#編程按鈕,點擊處理

for(int i=0;i<DtShow.Rows.Count;i++) 
     { 
      Button btn = new Button 
      { 
       Text = "حذف", 
       ID = i.ToString(), 
       UseSubmitBehavior = false, 
       CommandArgument =i.ToString(), 
       CssClass = "btn btn-danger" 
      }; 
      btn.Click +=new EventHandler(this.btn_Click); 
      lstAccessDgv.Rows[i].Cells[2].Controls.Add(btn); 
     } 
protected void btn_Click(object sender, EventArgs e) 
    { 
     Button b = (Button)sender; 
     int id = Convert.ToInt32(b.ID); 
     DtCode.Rows.RemoveAt(id); 
     DtShow.Rows.RemoveAt(id); 
     lstAccessDgv.Rows[id].Visible = false; 
    } 

爲什麼不要致電btn_Click?

+0

您可能不會重新創建每個頁面加載(幷包括回發)的控件。 – VDWWD

回答

0

不幸的是,您的問題並沒有說明您要查找的信息,但是,由於您確實進行了特定查詢,因此我會解決該問題。

爲什麼不調用btn_Click?

因爲btn_Click事件處理程序尚未綁定到按鈕的單擊事件。

這就是爲什麼你需要在創建該按鈕要做到這一點:

btn.Click +=new EventHandler(this.btn_Click); 

此執行btn_Click按鈕被按下時。

但要記住的一點是,該功能將針對列表中的每個按鈕執行,因此您需要確保其功能與該按鈕所屬的列表項目具體相關。