【发布时间】:2011-02-04 16:41:20
【问题描述】:
我的网站上有以下代码:
<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 都会运行。但是,即使我的子例程在单击按钮后更新了会话变量,我总是会收到相同的警报。换句话说,相同的 javascript 在回发之后运行,并且没有更新。我很肯定会话变量正在更改。有谁知道为什么会这样?感谢您的意见!
非常感谢!
【问题讨论】:
-
您是否尝试在 myButton_btn.Click-Handler 中调用
UpdatePanel.Update()?因此,我将删除显式触发器并将面板的ChildrenAsTriggers设置为false。
标签: javascript asp.net ajax postback