[英]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.