Refresh all update panels on the page?我有一些代码可以修改其他更新面板中的多个控件绑定到的值。当该事件处理程序触发时,我希望它也强制刷新其他更新面板,以便它们可以重新绑定。 这可能吗? 编辑: 为澄清起见,我在一个用户控件中有一个更新面板,其他更新面板在其他用户控件中,因此除非我要公开一些自定义属性并使用findControl等,否则它们将彼此看不见。 。 再次编辑: 这是我想出的:
我有3个主要的用户控件,其中充满了更新面板,这些控件在主页上可见,因此我在其中添加了一个Update方法,在这三个控件上称为Update。 在我的触发控件中,我只是将this.Page投射到当前页面中并称为Update。 编辑: AARRGGGG! 更新面板刷新时,它不会在它们的子控件中调用Page_Load ...我现在该怎么办! 注册一个将触发特定事件时刷新每个面板的PostBackTrigger(而不是AsyncPostBackTrigger),该怎么办? 或将已经刷新某些UpdatePanel的触发器添加到其他UpdatePanel中。 您可以在要更新的更新面板中的事件上设置触发器,也可以在后面的代码中明确地说出updatepanel.update()。 将两个视图面板都实例化为第三个演示者类,然后让演示者类控制两个视图。例如: 例如,您可以跳过需要"中产阶级"来完成其工作的内容;在您的主要语言中,您可以拥有;
每个视图将具有其自己的控件。您可以使用许多不同的方法来执行此操作。或者,您可以使用中产阶级来实例化两个面板,然后在每个面板中都可以使用"获取方法"来检索要处理的数据。 Page.DataBind()在所有子控件上启动一轮数据绑定。这将导致Asp.Net重新评估每个控件上的绑定表达式。如果这还不够,则可以添加任何想要确保在用户控件中的OnDataBinding或OnDataBound重写中启动的逻辑。例如,如果需要重新执行Page_Load事件,则可以在覆盖的OnDataBound方法中简单地调用它。 如果您要从客户端Javascript刷新updatepanel,这是一个很好的技术。 |