Вы должны вызвать событие, которое обновляет целевую панель обновления из всплывающего окна. Один из способов сделать это - использовать элемент window.opener.
Вот простой пример кода во всплывающем окне, которое вы можете адаптировать для своего проекта. Обратите внимание, что вам нужно будет изменить «btnTriggersUpdate» на идентификатор ClientID, который предоставляется любой кнопке, запускающей обновление панели обновления.
<asp:Button runat="server" ID="btnRefreshParentUpdatePanel" OnClientClick="window.opener.document.getElementById('btnTriggersUpdate').click();" Text="Refresh Parent Update Panel" />
В моем примере, здесь панель Update в родительском:
<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
Почему ты не можешь [использовать UpdatePanel] (http://stackoverflow.com/questions/3490457/update-an-updatepanel-manually-using-javascript-or-jquery)? –
В родительской странице присутствуют 3 обновления. Я хочу обновить только один –
Вы посмотрели ссылку, которую я разместил? –