我有一个嵌套的UserControl
(这个控件是由另一个UserControl
由 MasterPage 内的 aspx 页面动态加载的控件动态加载的),我想在其中使用一个LinkButton
和OnCommand
事件。
这个按钮必须添加到某个面板,所以我连接到OnLoad
面板的事件(它需要在生命周期中触发事件之前创建):
protected void PatentAssignee_Load(object sender, EventArgs e) {
Label label = (Label)sender;
LinkButton link = new LinkButton();
link.Text = name;
link.Command += Link_OnCommand;
link.CommandArgument = "argument";
link.ID = "someID";
label.Controls.Add(link)
}
protected void Link_OnCommand(object sender, CommandEventArgs e) {
Response.Write(e.CommandArgument);
}
但我无法调用 Link_OnCommand 方法。我与此问题相关的另一件事是:UserControl 在 UpdatePanel 中。我还尝试使链接触发完整的回发:
ScriptManager s = (ScriptManager)this.Page.Master.FindControl("__scriptManager");
s.RegisterPostBackControl(link);
...但变化不大,页面已完全重新加载,但没有触发任何事件。
编辑:根据评论中的要求,这里有更多关于嵌套的详细信息:
MasterPage
PlaceHolder
Page
UpdatePanel
UserControl1
FormView
PlaceHolder
UserControl2
LinkButton
这意味着它UserControl2
是动态加载的。