Updatepanel中用户控件内的按钮的回发触发器

Mah*_* KP 7 c# asp.net postback updatepanel ajaxcontroltoolkit

我有一个用户控件放在更新面板中,就像这样.

<asp:UpdatePanel ID="testupdatepnl" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
                        <uc1:TestControl ID="ctlTest" runat="server" />
        </ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

现在我在这个用户控件里面放了一个按钮说Click.我想在按钮点击上回发整个页面.我试着像这样添加一个回发触发器

<Triggers>
    <asp:PostBackTrigger ControlID="clickButton" />
</Triggers>
Run Code Online (Sandbox Code Playgroud)

由于按钮位于用户控件内部,因此在运行时出现错误.

有没有办法为这个按钮做回发.

Nal*_*526 15

<Triggers>从HTML中删除并将其添加到PageLoad事件中

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(WebUserControl11.FindControl("ButtonId")); 
Run Code Online (Sandbox Code Playgroud)

注:从得知这个


Imr*_*zvi 0

因为您用作触发器的按钮放置在更新面板内,并且在渲染后其客户端 ID 会发生更改。

使按钮可从用户控件访问并在服务器端声明触发器,例如

var ClickButton= ctlTest.FindControl("clickButton") as Button;


var trigger = new PostBackTrigger();
trigger.ControlID = ClickButton.UniqueID.ToString();
testupdatepnl.Triggers.Add(trigger);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅以下线程 使用 LoginView 触发 UpdatePanel 内的按钮