該網頁包含的LinkButton及其方法:動態創建按鈕不起作用
protected void LinkButton_Click(Object sender, EventArgs e)
{
TableRow tr = new TableRow();
TableCell tc = new TableCell();
Button b = new Button();
b.Text = "x";
b.CommandArgument = "someargument";
b.Click +=new EventHandler(this.b_Click);
tc.Controls.Add(b);
tc.Width = 30;
tr.Controls.Add(tc);
Table.Rows.Add(tr);
}
和方法:
protected void b_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "UpdateCom", "alert('ok');return false;", true);
string id = (sender as Button).CommandArgument;
// other operations...
}
首先通過點擊我的LinkButton表裏面創建按鈕,然後當我點擊按鈕b_Click方法不起作用。我什至沒有看到JavaScript警報,而只是頁面更新發生。
什麼是問題?
需要注意的是,如果我在頁面加載方法裏面做LinkButtonClick操作,一切都OK,創建按鈕,點擊該按鈕時b_click也適用。
它回發時,當你點擊動態添加按鈕? – ecco88
是發生回傳 – Nurlan
我對OL的頁面生命週期並不是很滿意,但一眼就可以看到按鈕的點擊事件是在您返回響應的時候處理的。但是,當用戶單擊按鈕時,除非正確重新構建頁面(並在回發中設置按鈕單擊處理程序),否則click事件將不再有處理程序(處理該按鈕的前一個實例的頁面的前一個實例,與之前的響應/結束請求一起死亡)。希望這是有道理的? – Smudge202