簡體   English   中英

復選框已更改事件未觸發動態添加控件

[英]Checkbox Changed Event not firing for dynamically added control

我在頁面加載事件中動態地在我的jQuery手風琴控件中創建了一個3個復選框,我還將文本框的CheckedChanged事件關聯起來。 但事件根本沒有解雇。 我不確定這里發生了什么。 請幫我。 謝謝,感謝您的反饋。

我用來生成動態控件並關聯事件的代碼

protected void Page_Load(object sender, EventArgs e)
{
    dvAccordion.Controls.Clear();
    foreach (DataRow row in dataSetIP.Tables[0].Rows)
    {
        HtmlGenericControl tt= new HtmlGenericControl("H3");
        HtmlAnchor anc= new HtmlAnchor();
        HtmlGenericControl dvP= new HtmlGenericControl("DIV");
        dvP.InnerHtml = row["LD"].ToString();
        CheckBox chkTest = new CheckBox();
        if (!Page.IsPostBack) chkTest .ID = "chk" + row["SD"].ToString();
        else
        {
            string uniqueID = System.Guid.NewGuid().ToString().Substring(0, 5);
            chkTest .ID = "chk" + uniqueID + row["SD"].ToString();
        }
        chkTest.Text = row["SD"].ToString();
        chkTest.AutoPostBack = true;
        chkTest.CheckedChanged += new EventHandler(chkTest _CheckedChanged);
        chkTest.InputAttributes.Add("Value", row["ID"].ToString());

        anc.Controls.Add(chkTest);
        tt.Controls.Add(anc);
        dvAccordion.Controls.Add(tt);
        dvAccordion.Controls.Add(dvP);           
    }  
}

但是CheckboxChanged事件沒有觸發。

這是一個添加控件,ViewState和一些生命周期的問題。 動態添加完全參與整個生命周期的控件是一個復雜的主題,如果沒有更多的上下文,最好閱讀真正理解動態控件系列。

在您的情況下,我認為您在ViewState初始化之后重新創建下一頁加載的控件,因此它不需要知道綁定時需要將調用排隊到綁定事件處理程序。

嘗試在Page_Init()事件中添加控件Page_Init()Page_Load()事件之前觸發)。

暫無
暫無

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

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