我创建了一个页脚用户控件,我动态控件添加到基于多种因素。我希望这些控件中的某些控件在同一页面上成为UpdatePanel的触发器。ASP.Net - 是否有可能为一个UpdatePanel的用户控件作为触发范围内使用控制?
我有以下代码背后:
private void SetupFooter()
{
WebToolBar footerToolBar = this.ShowFooterToolBar("~/ToolBars/PM_Footer.ascx");
footerToolBar.ID = "PM_Footer";
footerToolBar.OnNotify += new WebToolBar.OnNotifyHandler(footerToolBar_OnNotify);
WebToolButton button = new WebToolButton();
button.ID = "btn_Add";
button.Text = "Add";
button.ImageDefault = "~/Images/Icons/16/Plus.png";
button.CommandName = "Add";
button.Group = "1";
footerToolBar.AddWebToolButton(button);
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = button.ID;
trigger.EventName = "Click";
pnl_Suppliers.Triggers.Add(trigger);
}
我得到的错误:
ID为 'btn_Add' 控制找不到在UpdatePanel的 'pnl_Suppliers' 触发。
如果我将WebToolButton(基本上是一个带有Text的ImageButton)直接添加到页面而不是UserControl内部,那么它完美地工作。不幸的是,我希望我能得到这个我的用户(“PM_Footer.ascx”)内工作,因为它封装了大量的辅助功能和事件挂钩。
这是可能的吗?我抓着救命稻草,并试图分配的UniqueID和客户端ID,以更新面板代替,但它只是似乎是另一个用户控件中的任何控制,不能用作UpdatePanel的...这是有意义的方式触发。