簡體   English   中英

動態觸發的鏈接按鈕的點擊事件未觸發?

[英]Click event for dynamically created link buttons not firing?

這是我在C#Web應用程序中正在做的應用程序
我正在動態創建鏈接按鈕,如下所示。

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {         
                LinkButton ln = new LinkButton();
                ln.Text = ds.Tables[0].Rows[i].ItemArray[0].ToString();
                ln.ID =  ds.Tables[0].Rows[i].ItemArray[1].ToString();  
                divonlne.Controls.Add(ln);
                divonlne.Controls.Add(new LiteralControl("<br/>"));
            }

我的點擊事件如下

 ln.Click += new EventHandler(Clicked);

在我的點擊事件中,我得到的是linkbutton文本和ID,如下所示

   protected void Clicked(object sender, EventArgs e)
        {
            LinkButton lno = sender as LinkButton;
            Session["Toname"] = lno.Text;
            Session["idto"] = lno.ID;
        }

但這僅在單擊最后一個鏈接按鈕時才會觸發。 誰能幫我嗎?

您已經寫了如何訂閱Click事件,但是在示例中我看不到它。 也許您在錯誤的地方訂閱。 這有效...

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{         
    LinkButton ln = new LinkButton();
    ln.Text = ds.Tables[0].Rows[i].ItemArray[0].ToString();
    ln.ID =  ds.Tables[0].Rows[i].ItemArray[1].ToString();  
    ln.Click += new EventHandler(Clicked);
    divonlne.Controls.Add(ln);
    divonlne.Controls.Add(new LiteralControl("<br/>"));
}

在自定義控件中使用動態控件時,請記住使用INamingContainer接口裝飾您的類。 這樣可以確保重新創建的控件正確適合層次結構,並記住它們應該處理的事件。

暫無
暫無

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

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