将ASP.NET控件添加到Sharepoint Web部件

将ASP.NET控件添加到Sharepoint Web部件,asp.net,sharepoint,web-parts,Asp.net,Sharepoint,Web Parts,我想将ASP.NET链接按钮动态添加到我的SharePoint web部件。我将LinkButton与事件处理程序连接起来,但当我执行代码时,事件似乎从未被触发 在生命周期中,我应该在哪个事件中添加这样的控件,以及如何添加 谢谢。将其添加到Web部件的CreateChildControls事件中,如: protected override void CreateChildControls() { LinkButton linkbutton = new LinkButton()

我想将ASP.NET链接按钮动态添加到我的SharePoint web部件。我将LinkButton与事件处理程序连接起来,但当我执行代码时,事件似乎从未被触发

在生命周期中,我应该在哪个事件中添加这样的控件,以及如何添加


谢谢。

将其添加到Web部件的CreateChildControls事件中,如:

protected override void CreateChildControls()
{      
    LinkButton linkbutton = new LinkButton();
    linkbutton.Click += ClickButton;
    this.Controls.Add(linkbutton);

}

protected void ClickButton(object sender, EventArgs e)
{
    // handle event
}

将其添加到Web部件的CreateChildControls事件中,如:

protected override void CreateChildControls()
{      
    LinkButton linkbutton = new LinkButton();
    linkbutton.Click += ClickButton;
    this.Controls.Add(linkbutton);

}

protected void ClickButton(object sender, EventArgs e)
{
    // handle event
}

如果需要让控件触发服务器事件,则需要在Page_Init或Page_Load生命周期中注册要触发事件的控件。如果在预渲染阶段添加控件,则该控件将延迟。或者重写CreateChildControls方法并在该方法中添加控件

添加控件不需要执行任何特殊操作,只需: var linkButton = new LinkButton(); // register event Controls.Add(linkButton);

如果需要让控件触发服务器事件,则需要在Page_Init或Page_Load生命周期中为要触发的事件注册控件。如果在预渲染阶段添加控件,则该控件将延迟。或者重写CreateChildControls方法并在该方法中添加控件

添加控件不需要执行任何特殊操作,只需: var linkButton = new LinkButton(); // register event Controls.Add(linkButton);
我也有同样的问题。通过在CreateChildControls中添加LinkButton并显式设置ID,然后使用INamingContainer界面装饰我的Web部件,修复了我的问题。

我也遇到了同样的问题。通过在CreateChildControls中添加LinkButton并显式设置ID,然后使用INamingContainer接口装饰我的Web部件,修复了我的问题