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';