【问题标题】:Multiple UpdatePanel render async多个 UpdatePanel 异步渲染
【发布时间】:2014-02-24 14:22:54
【问题描述】:

我的页面拥有两个 UpdatePanel,它们具有相同的 Trigger,如下所示:

<asp:AsyncPostBackTrigger ControlID="btnTest" EventName="Click" />

在服务器端,在部分回发期间,我调用了与两个更新面板相关的两个不同函数。第一个需要不到一秒,但第二个需要 5-10 秒。

不方便的是所有的渲染都完成了。

如何在第一个面板完成后渲染结果而不必等待第二个面板?是否可以将特定功能与更新面板相关联,就像我们可以使用一些 AJAX 代码一样(

$.ajax({
                        type: "POST",
                        url: "GridDemo.aspx/search",
                        contentType: "application/json; charset=utf-8",
                        data: "{}",
                        dataType: "json"

)

谢谢大家。

我的环境:VB.NET、ASP.NET、Framework .NET 4.0

【问题讨论】:

    标签: asp.net ajax vb.net asynchronous updatepanel


    【解决方案1】:

    避免多个更新面板

    我相信您之前已经听说过,但您应该尽可能避免使用更新面板。同一页面中的多个更新面板会特别麻烦。相反,您应该使用 Web 服务来填充更新面板内容。

    ASP.Net Web API

    MVC 4 引入了一种在 Visual Studio 2012 中创建 RESTful API 的新方法。该方法已成功移植到 ASP.Net Web 表单和 Visual 2010。简单地说,过程如下:

    1. 您创建了一个 Web API,其中包含一个返回数据的服务器端函数。
    2. 您使用$.ajax() 方法调用一个javascript 函数--该函数可以从客户端调用而不会触发回发,它会从您创建的服务器端函数返回值或数据集在第一步中。
    3. 您可以使用 javascript 将数据放在任何您想要的位置 - 有很多方法可以做到这一点。

    一些帮助您入门的示例

    鉴于去年我遇到了与您相同的问题(与多个更新面板作斗争),我有很多链接和教程可能会对您有所帮助。


    PS:恐怕我解释得不够清楚,所以如果您需要任何其他帮助,请发表评论(或开始聊天),我们很乐意为您提供帮助进一步。

    【讨论】:

    • “尽可能更新面板”是我几个小时以来的想法,但我想我可能以错误的方式使用该工具。我意识到我想做的不再适合 UpdatePanel 的功能。感谢您的帮助。
    • @ArnaudBessems 不客气。不幸的是,要超越臭名昭著的更新面板的功能并不难:-/ 如果您发现它有帮助,请记住将答案标记为正确。谢谢!
    猜你喜欢
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 2019-02-03
    • 1970-01-01
    • 2015-01-27
    • 2018-02-11
    • 2023-03-26
    相关资源
    最近更新 更多