我想在用户单击按钮(服务器端事件)时添加一个用户控件。
我能够动态地添加控件,但由于在页面生命周期中为时已晚,该用户控件上的事件不会触发(在此特定情况下,该用户控件中的按钮)。
我所看到的所有解决方案是在Page_Init(或Page_Load)上添加控件,这是我不能在这里做的,而且控件必须保持"动态",所以我不能只是隐藏它,然后使它可见
这里的问题是这些控件的ID是自动生成的,asp.net通过ID匹配控件的事件。
我通过在每个动态控件创建后给它们一个ID来修复这个问题。
Control control = LoadControl("~/Controls/" + controlName + ".ascx");
control.ID = "SomeId";
parentElement.Controls.Add(control);