2012-06-26 75 views
1

我有一個按鈕,需要動態創建,但問題是我無法設置它的OnClick屬性,它運行服務器端方法btnSubmit_Click(對象發件人,EventArgs e)設置動態創建的ASP的OnClick屬性:按鈕

如果我做的:

btnSubmit.Attributes["OnClick"] = "btnSubmit_Click()"; 

它實際上把它添加到的OnClientClick代替。

btnSubmit.Click += new EventHandler(btnSubmit_Click); 

也從未發生火災。

如何設置實際的服務器OnClick?

+0

你正在創建你的按鈕inseide Page_Init/Page_PreInit? – J0HN

+0

你放置了Runat =服務器標籤嗎? – paragy

+1

@alliswell,他正在編程創建按鈕 – Habib

回答

4

綁定事件Page_PreInit

public Button btnSubmit; // Add the on class level as data member 

Protected void Page_PreInit(object sender, EventArgs e) 
{ 
     btnSubmit = new Button();   
     btnSubmit.Text = "Click me";   
     btnSubmit.Click +=new EventHandler(btnSubmit_Click); 
     this.form1.Controls.Add(btnSubmit); 
} 

添加此事件。

void btnSubmit_Click(object sender, EventArgs e) 
{ 
    throw new NotImplementedException(); 
} 
+0

剛剛嘗試過,它仍然不會着火。我想作爲一個黑客,我可以在aspx上創建按鈕,然後將其複製到相應的單元格中。哈克但它的作品 –

+0

你在哪裏實例化按鈕? – Adil

+0

Page_Load,然後全球也試過它,但沒有變化 –

2
btnSubmit.Click += new EventHandler(btnSubmit_Click); 

//你的事件處理程序

void btnSubmit_Click(object sender, EventArgs e) 
{ 
    throw new NotImplementedException(); 
} 
+0

忘記提及,也嘗試過。從不開火。有沒有辦法在c#代碼中設置runat = server? –

+0

真的嗎?你在哪裏添加按鈕和事件處理程序? – Habib

+0

page_load方法 –

相關問題