对于未触发的动态创建的链接按钮,单击event
本文关键字:按钮 单击 event 链接 创建 于未触 动态 | 更新日期: 2023-09-27 18:16:06
这是我正在做的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);
在我的点击事件我得到链接按钮文本和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接口来修饰你的类。这可以确保重新创建的控件正确地适应层次结构,并记住它们应该处理哪些事件。