手动触发更新面板

本文关键字:更新 | 更新日期: 2023-09-27 18:12:13

我在页面中有一个UpdatePanel。在这个UpdatePanel中,我有一个控件,它有一个按钮。是否可以在后面的代码中手动添加此按钮(在用户控件内部)的回发触发器?

下面是示例代码
//Page
<UpdatePanel>
  <uc1:UserControl />
</UpdatePanel>
//UserControl
<textbox></textbox>
<asp:button></asp:Button>

手动触发更新面板

据我所知,你想注册按钮在你的用户控件作为一个PostbackTrigger的UpdatePanel在你的ASPX页面,其中包含你的用户控件。我已经设法编写了一个简单的web应用程序,复制这种情况,没有进一步的信息,我看不到你在哪里出错或你得到的错误是什么,如果有的话。如果你扩展了你最初的问题,比如提供相关的代码片段,这将会有所帮助。我会尽我所能……

在用户控件中,您可以使用以下代码将按钮注册为更新面板的post back触发器:

    public void RegisterPostbackTrigger(UpdatePanel updatePanel)
    {
        PostBackTrigger buttonTrigger = new PostBackTrigger();
        buttonTrigger.ControlID = TestButton.ClientID;
        updatePanel.Triggers.Add(buttonTrigger);
    }

你将不得不调用RegisterPostbackTrigger从你的页面的代码后面传递你的UpdatePanel的引用作为一个参数。MyControl指向UserControl

    MyControl.RegisterPostbackTrigger(MainUpdatePanel);

这样做的另一种方法,这可能与您的特定问题相关,是直接访问ScriptManager并使用它的RegisterPostBackControl方法作为参数传递给您的按钮。这是一个链接!

没有更多的信息,我真的帮不上你了!

祝你好运!