点击按钮,弹出窗口打开。在子窗口中,我进行了一些更改,当我保存时,弹出窗口需要关闭,部分父页面就像单个更新面板一样刷新。
我不希望完整的父页面刷新。
答案 0 :(得分:1)
您必须从弹出窗口中触发刷新目标更新面板的事件。一种方法是使用window.opener元素。
以下是弹出窗口中的代码示例,您可以根据项目进行调整。请注意,您需要将“btnTriggersUpdate”更改为给予任何Button触发更新面板刷新的ClientID。
<asp:Button runat="server" ID="btnRefreshParentUpdatePanel" OnClientClick="window.opener.document.getElementById('btnTriggersUpdate').click();" Text="Refresh Parent Update Panel" />
在我的示例中,这是父级中的更新面板:
<asp:UpdatePanel ID="upnTarget" runat="server">
<ContentTemplate>
<asp:Label id="lblUpdatePanelLabel" runat="server" Text="Not Updated"></asp:Label>
<asp:Button ID="btnTriggersUpdate" runat="server" Text="Refreshes Update Panel" />
</ContentTemplate>
</asp:UpdatePanel>
父母的btnTriggerUpdate_Click以证明其更新:
Protected Sub btnTriggersUpdate_Click(sender As Object, e As EventArgs) Handles btnTriggersUpdate.Click
lblUpdatePanelLabel.Text = "Updated"
End Sub