【发布时间】:2017-07-25 12:21:42
【问题描述】:
每当 DropDownList SelectedIndexChanged 发生时,我都会在代码隐藏中将 LinkButtons 添加为 ul-li 列表。每个链接按钮都分配有 ID 和一个常见的 Click 事件。问题是 Click 事件中的代码未执行或未触发事件。我的代码如下:[编辑] 我按照其他帖子中的建议尝试了这样的操作 (dynamically created list of link buttons, link buttons not posting back)
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
populate();
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
populate();
}
void populate()
{
HtmlGenericControl ulList = new HtmlGenericControl("ul");
panel.Controls.Add(ulList);
foreach (DataRow dr in drc)
{
HtmlGenericControl liList = new HtmlGenericControl("li");
ulList.Controls.Add(liList);
var lnk = new LinkButton();
lnk.ID = dr["col1"].ToString();
lnk.Text = dr["col1"].ToString();
lnk.Click += Clicked;
liList.Controls.Add(lnk);
}
}
private void Clicked(object sender, EventArgs e)
{
var btn = (LinkButton)sender;
label1.Text = btn.ID.ToString();
}
我错过了一些东西。请帮忙。
【问题讨论】:
-
那些事件不会在回发时绑定。
-
在回发时运行代码。查看修改...
-
@Daniel 请查看编辑。 Still Clicked 事件未触发。
-
最好的办法是在带有项目模板的面板中有一个数据列表或列表视图控件。将链接按钮放在项目模板中,并附加公共事件处理程序。在 ddl 的 selectedindexchanged 事件中,您需要对 listview 或 datalist 进行数据绑定。
-
@Chetan,我会试一试,然后回复你。
标签: c# asp.net visual-studio-2008