2017-06-21 5 views
2

私のアプリケーションでは、2つのドロップダウンがあります。ドロップダウンの選択を変更すると、ツリー構造内に複数のグリッドが読み込まれますが、これらのグリッドを読み込むには時間がかかります(すべてをロードするには約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> 

上記のコードの問題は、ロードの進行状況は常にグリッドであっても後に、表示取得されていますロードされる。しかし、グリッドがロードされている間だけロードの進捗状況を表示する必要があります。ロードが完了すると、ロード進捗状況は表示されません。これどうやってするの?

答えて

1

私は、タグ

DisplayAfterはミリ秒であり、このプロセスが完了していないまで、指定した秒後に実行されますがのUpdateProgress使用することをお勧めします。

<asp:UpdateProgress DynamicLayout="true" ID="upProgSearch" DisplayAfter="1500" runat="server" > 
    <ProgressTemplate> 

      <asp:Image ID="Image1" ImageUrl="~/images/Loading.gif" runat="server" /> 

    </ProgressTemplate> 
</asp:UpdateProgress> 
+0

onchangeとonchangeイベントのドロップダウンでイベントを追加しようとすると、$( 'id')を使用してupdateprogressをアクティブにしてください。style.display = 'block'; –

+0

データがバインドされたら、updateprogressをdisplayで非表示にすることができます。 –

+0

あなたはドロップダウンSlectedインデックスではないグリッドでOndataboundイベントを使用する必要があるので、親グリッドでonDataBoundを呼び出すことができます(最後のイベントでは、プログレスバーのIDを取得してスタイルをnoneに設定できます) –

関連する問題