gpt4 book ai didi

JavaScript 触发的 UpdatePanel 未正确更新

转载 作者:行者123 更新时间:2023-11-30 18:42:40 25 4
gpt4 key购买 nike

我正在处理一个大型、复杂的 ASP.NET 项目。

我有一个动态加载的 Web 用户控件,其中的 UpdatePanel 无法正确更新。 UpdatePanel 由 JavaScript 函数触发。

我设法创建了一个非常简化的项目来演示该问题并将其发布在 http://www.softcircuits.com/Client/TestProject.zip .

如果对这些技术有更深入了解的人可以看一看并为我指明正确的方向,我将不胜感激。

最佳答案

我想我发现了正在发生的事情。我知道 UpdatePanel 回发就像一个普通的回发,但只有一部分页面被发送回客户端。所以我玩了一下,发现 HalfTrackMindMan 提到的可以按预期工作。然后我问谷歌有关 UpdatePanels 的常见错误并找到 this article这解释了出了什么问题。

这就是实际发生的事情。

  1. __doPostback 将页面的值发送到服务器
  2. 在post参数中,两个文本框的值都是空白
  3. 在服务器上触发 Load 事件,您更改文本框的文本
  4. EventHandlers 被执行,发布的值被设置在 2 个文本框上(它们都被重置为空白
  5. ...
  6. 更新面板使用空白值呈现

因此,如果您将测试放入其中一个文本框并按下按钮,您可以看到“测试”值发送到服务器并返回。

1|#||4|356|updatePanel|MainContent_WebUserControl11_ctl00_UpdatePanel1|
<p>
Message:<br />
<input name="ctl00$MainContent$WebUserControl11$ctl00$TextBox1" type="text" value="testing" id="MainContent_WebUserControl11_ctl00_TextBox1" />
</p>

因此,要在更新面板中更新输入元素的值,您需要在 Pre_render 事件中进行。另一方面,您可以在 on_load 上更新标签,它会起作用。

希望对您有所帮助。

关于JavaScript 触发的 UpdatePanel 未正确更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406180/

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