ASP.NET UpdateProgressを手動で表示する
UpdataPanelで非同期ポストバック中にローディングアイコンを表示して操作不可にするで紹介したように、以下のようにUpdateProgressコントロールを置いておくだけで、デフォルトではすべてのUpdataPanelの非同期ポストバック時にProgressTemplate内の要素が表示されます。
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DynamicLayout="False" DisplayAfter="0">
<ProgressTemplate>
<div class="loading">
</div>
</ProgressTemplate>
</asp:UpdateProgress>非同期ポストバックだけでなく、普通のポストバック時など任意のタイミングでUpdateProgressを表示したい場合があります。
JavaScriptで以下のようにvisibilityのスタイルを変更すれば表示されます。
document.getElementById('UpdateProgress1').style.visibility = 'visible';UpdateProgressがマスタページなどに定義されている場合は、IDをそのまま指定できないので、ASP.NET Masterページのコントロールを取得するで紹介した方法でUpdateProgressのコントロールを取得します。
document.getElementById('<%= Me.Master.FindControl("UpdateProgress1").ClientID %>').style.visibility = 'visible';