C# 捕获用户控制';updatepanel中的s Linkbutton事件

C# 捕获用户控制';updatepanel中的s Linkbutton事件,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我在更新面板中有一个UserControl调用itemUserControl <asp:UpdatePanel ID="updPanel" runat="server" UpdateMode="Conditional"> <ContentTemplate> <STX:ItemControl ID="itemUserControl" runat="server" /> </ContentTemplate> </

我在更新面板中有一个UserControl调用itemUserControl

<asp:UpdatePanel ID="updPanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
         <STX:ItemControl ID="itemUserControl" runat="server" />
    </ContentTemplate>
</asp:UpdatePanel>

在UserControl内部,我有一个带有OnClick事件的链接按钮,我希望从用户控件的代码中捕获该事件

<asp:LinkButton ID="lnkBtn" runat="server" Text="ClickMe" OnClick="lnkBtn_Click" />

我似乎无法让它工作:( 通过谷歌搜索,看起来我需要添加触发器来连接按钮点击事件

<Triggers>
  <asp:PostBackTrigger ControlID="lnkBtn" EventName="Click" />
</Triggers>

但是,我无法在ContentTemplate标记后面的父页面上添加此触发器,因为Visual Studio看不到按钮ID。有没有办法做到这一点?我只想在用户控件的代码后面触发按钮事件。

从包含页面中删除
,并在containin的页面加载事件中添加以下行g页

<asp:LinkButton ID="lnkBtn" runat="server" Text="ClickMe" OnClick="lnkBtn_Click" />
ScriptManager ScriptManager=ScriptManager.GetCurrent(this.Page); scriptManager.RegisterPostBackControl(MyControl.FindControl(“lnkBtn”)


这将注册您的用户控件,单击链接按钮的单击事件将在单击时触发,您不需要捕获任何内容,除非您希望该按钮执行完全回发。如果您只是在用户控件的代码隐藏中添加
lnkBtn\u click
方法,它将被异步处理

如果您确实想要完全回发,请在UserControl的
页面\u load
中将该按钮注册到该事件

protected void Page_Load(object sender, EventArgs e)
{
    ScriptManager.GetCurrent(Page).RegisterPostBackControl(lnkBtn);
}