我在页面中有一个UpdatePanel。 在这个UpdatePanel里面,我有一个带按钮的控件。 是否可以在后面的代码中为此按钮(位于用户控件内)手动添加回发触发器?
以下是示例代码
//Page
<UpdatePanel>
<uc1:UserControl />
</UpdatePanel>
//UserControl
<textbox></textbox>
<asp:button></asp:Button>
答案 0 :(得分:0)
据我所知,您希望在用户控件中注册按钮,作为包含用户控件的 ASPX 页面中UpdatePanel的PostbackTrigger。 我已经设法编写了一个简单的Web应用程序来复制这个场景,没有进一步的信息,我无法看到你出错的地方或者你得到的错误是什么,如果有的话。如果您扩展原始问题,这将有所帮助,例如:通过提供代码的相关代码段。我会尽我所能......
在用户控件中,您可以使用以下代码将按钮注册为更新面板的回发触发器:
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方法传入按钮作为参数。这是a link!
如果没有更多信息,就无法真正帮到你了!
祝你好运!