我在我的网站上有以下代码:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" id="UpdatePanel" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger controlid="myButton_btn" eventname="Click" />
</Triggers>
<ContentTemplate>
<script>
function pageLoad(){
window.alert("<%=Session("myVariable")%>");
}
}
</script>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="myButton_btn" Text="Prev Month" runat="server"></asp:Button>
每次我点击按钮时,JavaScript 都会运行。然而,尽管我的子程序在单击按钮后更新了会话变量,但我始终收到相同的警报。换句话说,在 postback 后仍然运行相同的 JavaScript,并且没有更新。我肯定会话变量已经被更改。有人知道为什么会发生这种情况吗?感谢您的帮助!谢谢!
UpdatePanel.Update()
了吗?因此,我会移除显式触发器并将面板的ChildrenAsTriggers
设置为false。 - Tim Schmelter