【发布时间】:2009-11-13 21:13:01
【问题描述】:
我正在制作一个网络应用程序。我在更新面板中遇到了一个奇怪的错误。
好的,假设您有两个更新面板,每个更新面板中都有一个文本框。这两个文本框都是自动回发的,更新面板有条件地更新。
好吧,从我观察到的行为看来,如果服务器在处理请求时不比用户快,那么它在客户端就会被忽略。 就像说您在其中一个文本框中输入了一些内容,然后快速跳到下一个并输入内容并跳出。这应该会导致 2 次回发。
好吧,如果服务器正在处理 1 个回发,而另一个回发发生了怎么办?该回帖是否在服务器端或客户端被丢弃?
我在这种情况下观察到的主要问题是,当第一次回发时,更新面板有一个 Update()。好吧,当第二次回发中断第一次时,它还会在更新面板上进行更新(另一个)。用户看到的是,如果他们非常快速地浏览它(或者服务器处于高负载或其他情况下),那么第二个更新面板会得到更新,但不是第一个。
tl;dr:当一个回发中断另一个回发时,任何应该在第一次回发中更新的更新面板都不会更新(尽管第二个回发是)
我该如何解决或解决这个问题?我无法更新屏幕上的所有更新面板,因为这样用户当前所在的控件就会失去焦点以及一大堆其他问题。
【问题讨论】:
标签: c# asp.net ajax updatepanel postback