gpt4 book ai didi

javascript - 从 UpdatePanel 更新 JavaScript 变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:53:33 26 4
gpt4 key购买 nike

我正在尝试从 ASP.NET 代码更新全局 javascript 变量。我尝试做的是使用这样的 UpdatePanel:

<asp:UpdatePanel ID="UpdatePanel" runat="server">
<ContentTemplate>
<script type="text/javascript">
var global1= <%= this.Method(parameter) %>;
var global2= <%= this.Method(parameter) %>;
</script>
</ContentTemplate>
</asp:UpdatePanel>

UpdatePanel 有一个触发更新的触发器(代码中未显示)。我还有一个 endRequest 方法:

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);

function EndRequest(sender, args) {
compute();
}

如果我使用像“Firebug”这样的软件来检查代码,我可以完美地看到全局变量是如何更新到他的新值的(当发生 asyncpostback 时)。不幸的是,如果我在计算函数中放置一个显示他的值的警报,它们将具有以前的值。

错在哪里?是否可以从 ASP.NET 以这种方式更新变量?

非常感谢;)

最佳答案

尝试这样做:将 2 个全局变量放在更新面板之外。然后,当 UpdatePanel 回发和它的异步发布时,从代码中执行:

ScriptManager.RegisterClientScriptBlock(..);

在该语句中,执行:

"global1 = '" + this.Method(parameter) + "';";
"global2 = '" + this.Method(parameter) + "';";

从本质上讲,您为变量写了一条更新语句。

HTH.

关于javascript - 从 UpdatePanel 更新 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com