代码之家  ›  专栏  ›  技术社区  ›  Maciej

并发异步回调

  •  6
  • Maciej  · 技术社区  · 15 年前

    ASP.NET专家面临的难题。我花了很多时间试图找到答案或者自己去做,但到目前为止还没有运气。

    ASP.NET Web应用程序。我计划改进页面加载时间,以便用户体验更好。我想使用updatepanels延迟页面的加载部分。我可以让一个updatepanel在页面加载后立即使用具有最小间隔的计时器进行自我更新。这很好,但是当尝试用多个updatepanels完成它时,步骤就开始了。基本上,所有面板都是按顺序更新的,而不是同时更新。

    现在,我已经了解到,这是由于每个异步回发结果都包含整页视图状态,并且为了防止视图状态不一致,异步回发被序列化。实际上,他们说只有最后一次回调才会成功,所以我想我很幸运能将它们序列化。

    现在的大问题是:有人找到解决办法吗?在ASP.NET中(如果可能)。这将是一个非常有价值的答案,可能不仅对我。

    谢谢,谢谢,谢谢(工作回答:—)

    1 回复  |  直到 12 年前
        1
  •  5
  •   SLaks    15 年前

    更新面板的设计是同步的。

    如果要同时执行多个请求,则需要使用页面方法、Ajax服务或原始Ajax。任何一种方式都意味着放弃视图状态。

    如果要同时为多个Ajax请求呈现ASP.NET控件,可以制作包含这些控件的小型独立ASPX文件,向它们发送Ajax请求,并将呈现的HTML插入到DOM中。在jquery中,您可以这样做: $('selector').load('something.aspx') . 请注意,回发和视图状态都不起作用。

    推荐文章