在我的申请中,我有两个下拉菜单。在更改下拉选择时,我在树结构中加载多个网格,但加载这些网格需要一些时间(将近5分钟加载所有网格)。因此,我选择使用以下代码显示加载进度:
Aspx代码:
<form>
<img style="visibility:hidden;" src="~/Image/loader.gif" runat="server" id="loading_image" />
<asp:DropDownList ID="ddl1" runat="server" Height="22px" Width="121px" OnSelectedIndexChanged="ddlYear_SelectedIndexChanged" AutoPostBack="True">
</asp:DropDownList>
<asp:DropDownList ID="ddl2" runat="server" Height="22px" Width="121px" OnSelectedIndexChanged="ddlYear_SelectedIndexChanged" AutoPostBack="True">
</asp:DropDownList>
</form>
上述代码的问题是即使在加载网格后,也始终显示加载进度。但是,我只需要在网格加载时显示加载进度,一旦加载完成,加载进度就不会出现。我怎么能这样做?
答案 0 :(得分:1)
我建议使用UpdateProgress标记
DisplayAfter是毫秒,将在指定的秒后运行,直到该过程未完成。
<asp:UpdateProgress DynamicLayout="true" ID="upProgSearch" DisplayAfter="1500" runat="server" >
<ProgressTemplate>
<asp:Image ID="Image1" ImageUrl="~/images/Loading.gif" runat="server" />
</ProgressTemplate>
</asp:UpdateProgress>