我有一个 ASPX 页面,其中包含一个定义为 jQuery 手风琴的面板,该面板在加载页面时开始隐藏。单击面板应该会刷新其中的值。
这里是相关的ASPX:
<div class="xPrimaryPanel" >
<div class="xPrimaryPanelBanner" id="MainPanel">Select Position</div>
<div class="xContainer">
<div class="xSecondaryPanel">
<div id="Tier1Panel" class="xPrimaryPanel">
<div id="1" class="xPrimaryPanelBanner">Tier 1 Positions</div>
<div class="xContainer">
<asp:UpdatePanel runat="server" ID="update1">
<ContentTemplate>
<asp:Label runat="server" ID="Tier1Refreshes" />
<asp:Button runat="server" Style="display: none" ID="btnNew1" Text="get Tier 1 data" OnClick="PositionControlT1_Click" />
<uc:PositionsControl2 ID="PositionsControlT1" runat="server" TierTest2="1" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
window.addEventListener(
"message",
(event) => {
if (event.data == "Refresh") {
updatePanel1();
}
},
false
);
function updatePanel1() {
var button1 = document.getElementById('<%= btnNew1.ClientID%>');
button1.click();
}
</script>
“Tier 1 Positions”是一个开始关闭的 jQuery 手风琴 单击面板被视为单击 btnNew1,它调用 PositionControlT1_Click:
Sub PositionControlT1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Tier1Refreshes.Text = (Int32.Parse(Tier1Refreshes.Text) + 1).ToString();
PositionsControlT1.RefreshTheGrid()
End Sub
PositionsControlT1 是一个 ASCX;它包括一个在新选项卡中调出另一个 ASPX 的按钮,允许更改 PositionsControlT1 中显示的数据,并在单击“返回”按钮时发布“刷新”消息,然后关闭 ASPX。
这是正在发生的事情:
如何在不关闭面板然后手动重新打开面板的情况下让面板内的数据刷新?或者是否有一些 jQuery 手风琴“功能”不允许我这样做?