簡體   English   中英

我創建的asp.net調用按鈕單擊事件

[英]asp.net calling button click event that i created

我正在asp.net中編寫一個Web應用程序。 我有一個aspx頁面,該頁面調用一個類(測試),該類生成一個按鈕並返回該按鈕。 類的構造函數獲取應激活按鈕單擊事件的函數(userClickOnButton),然后將其插入按鈕。click + = EventHandler(“函數名稱(userClickOnButton)”);

問題是在代碼背后的aspx中,我使用IsPostBack(不能將其取下,需要此條件),當我單擊按鈕時,程序不會轉到為按鈕創建的事件,但是當我取下IsPostBack時條件是程序確實轉到我創建的事件(函數userClickOnButton)。

我的代碼是:aspx代碼后面

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Test test = new Test(userClickOnButton);
        Button button = test.AddButton();
        cell.Controls.Add(button);
    }
}

private void userClickOnButton(object sender, EventArgs e)
{
    this.ModalPopupExtenderSelectFilds.Show();
}

我的課

public class Test
{

Action<object, EventArgs> m_ButtonClickActivateFunction;

public Test(Action<object, EventArgs> func) 
{
    m_ButtonClickActivateFunction = func;
}

public Button AddButton()
{
    Button button = new Button();
    button.Text = "select";
    button.ID = "buttonID";
    button.Click += new EventHandler(m_ButtonClickActivateFunction);

    return button;
}

需要幫助以激活事件而無需清除IsPostBack條件

謝謝

我認為asp.net無法處理不再存在的按鈕的點擊。 由於回發時您不會重新創建按鈕,因此該按鈕在頁面的控件集合中不再存在,因此不會處理該事件。

事件的處理發生在Page_Load之后,因此Page_Load應該已經重新創建了按鈕。

也可以在這里查看: Asp.Net頁面生命周期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM