JavaScript 触发的 UpdatePanel 未正确更新
我正在开发一个大型、复杂的 ASP.NET 项目。
我有一个动态加载的 Web 用户控件,其 UpdatePanel 无法正确更新。 UpdatePanel 是由 JavaScript 函数触发的。
我成功创建了一个非常简化的项目来演示该问题,并将其发布在 http:// www.soft Circuits.com/Client/TestProject.zip。
如果对这些技术有更深入了解的人能够看一下并为我指明正确的方向,我将非常感激。
I'm working on a large, complex ASP.NET project.
I have a dynamically loaded web user control with an UpdatePanel that doesn't update correctly. The UpdatePanel is being triggered from a JavaScript function.
I've managed to create a very simplified project that demonstrates the issue and have posted it at http://www.softcircuits.com/Client/TestProject.zip.
I would be extremely grateful if someone with a deeper understanding of these technologies could take a look and point me in the right direction.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想我发现发生了什么。我知道 UpdatePanel 回发与普通回发类似,但仅将页面的一部分发送回客户端。所以我玩了一下,发现 HalfTrackMindMan 提到的内容可以按预期工作。然后我向谷歌询问 UpdatePanels 的常见错误,并发现 这篇文章解释了出了什么问题。
这就是实际发生的情况。
因此,如果您将测试放入其中一个文本框并按下按钮,您可以看到“测试”值进入服务器来了 因此,
要更新更新面板中的输入元素的值,您需要在 Pre_render 事件中执行此操作,另一方面,您可以更新 on_load 上的标签,
希望有所帮助。
I think I found what is happening. I know that the UpdatePanel postback is like a normal postback but only a part of the page is sent back to the client. So I played around a bit and found what HalfTrackMindMan mentioned to work as expected. Then I asked google to about common mistakes with UpdatePanels and found this article that explained what is going wrong.
This is what actually happens.
So if you put testing in one of the textboxes and press the button you can see that "testing" value goes to the server and comes back.
So to update the values of input element in an update panel you need to do it in the Pre_render event. On the other hand you can update a label on on_load and it will work.
Hope that helps.
尝试在 UpdatePanel 的 OnPreRender 事件而不是 OnLoad 中设置文本框值。
Try to set textboxes values in the OnPreRender event of UpdatePanel instead of the OnLoad.