ASP 异步页面加载的 UpdateProgress 控件
ASP UpdateProgress control on async page load
我有一个异步页面加载,它从 API 获取数据并将其绑定到更新面板内的转发器,与本地搜索结果分开。
母版页中有一个脚本管理器。
<div class="searchResultContainer" runat="server" id="divApiResults">
<div class="searchResult">
<asp:UpdatePanel ID="udpApiResults" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:UpdateProgress ID="updateProgress" DisplayAfter="1000" runat="server">
<ProgressTemplate>
<div id="lblLoadingApi" runat="server">
Loading...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:Label runat="server" CssClass="label searchResultLabel" Text="EXTERNAL SEARCH RESULTS" />
<asp:Repeater ID="rptApiResults" runat="server">
<!-- template in here -->
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
但是,更新进度控件永远不会在页面加载时、转发器排序时或页面更改时显示。在转发器中加载所有数据之前,如何让它显示 "loading"?
我做错了。更新进度模式永远不会出现在异步页面加载中,因为它已经在页面呈现之前加载。因为它在分页和排序时回发,所以 UpdateProgress 出现了。
我的解决方案是在页面加载后异步加载它(因为它在更新面板中,它不会影响页面的其余部分),方法是使用一块 jQuery 单击 "trigger" 按钮在 $(document).ready(...)
上,然后关闭以获取 API 结果。这还将 UpdateProgress 设置为可见,结果加载完成后消失。
我有一个异步页面加载,它从 API 获取数据并将其绑定到更新面板内的转发器,与本地搜索结果分开。
母版页中有一个脚本管理器。
<div class="searchResultContainer" runat="server" id="divApiResults">
<div class="searchResult">
<asp:UpdatePanel ID="udpApiResults" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:UpdateProgress ID="updateProgress" DisplayAfter="1000" runat="server">
<ProgressTemplate>
<div id="lblLoadingApi" runat="server">
Loading...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:Label runat="server" CssClass="label searchResultLabel" Text="EXTERNAL SEARCH RESULTS" />
<asp:Repeater ID="rptApiResults" runat="server">
<!-- template in here -->
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
但是,更新进度控件永远不会在页面加载时、转发器排序时或页面更改时显示。在转发器中加载所有数据之前,如何让它显示 "loading"?
我做错了。更新进度模式永远不会出现在异步页面加载中,因为它已经在页面呈现之前加载。因为它在分页和排序时回发,所以 UpdateProgress 出现了。
我的解决方案是在页面加载后异步加载它(因为它在更新面板中,它不会影响页面的其余部分),方法是使用一块 jQuery 单击 "trigger" 按钮在 $(document).ready(...)
上,然后关闭以获取 API 结果。这还将 UpdateProgress 设置为可见,结果加载完成后消失。