TriggerイベントでUpdateProgressを表示する
ASP.NET AJAXの解説を読んでUpdateProgressを貼り付けても、TriggerイベントではUpdateProgressが表示されません。ネットで調べるとかるあさんのブログで解決策がありました。
Trigger で指定したイベントの場合 UpdateProgress が表示されない? かるあ のメモ/ウェブリブログ
さらに調べるとマイクロソフトのサイトに詳細な解説がありました。
マイクロソフトのサイトによると「次のシナリオでは、UpdateProgress コントロールは自動的に表示されません。」とのこと
- UpdateProgress コントロールは特定の更新パネルに関連付けられますが、非同期ポストバックは、その更新パネル内にないコントロールから発生します。
- UpdateProgress コントロールは UpdatePanel コントロールに関連付けられていません。また、非同期ポストバックは、UpdatePanel 内になく、トリガではないコントロールからは発生しません。たとえば、更新はコード内で行われます。
下のコードで、一応UpdateProgressは表示されるようになりました。けど・・・非同期ポストバックが発生すると直ぐにUpdateProgressが表示されて、画面がちらつきます。何とかならないものか・・・
<asp:scriptmanager id="ScriptManager1" runat="server" />
<script language="javascript" type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
function InitializeRequest(sender, args) {
$get('UpdateProgress1').style.display = 'block';
}
</script>
<asp:updateprogress id="UpdateProgress1" runat="server" enableviewstate="False" displayafter="2000">
<progresstemplate>
<img src="../images/loading.gif" />処理中です...
</progresstemplate>
</asp:updateprogress>
« Music Creator 4 | トップページ | Epiphone Japan Les Paul Standard GoldTop »
「03 web」カテゴリの記事
- ASP.NETでエクセル操作 その4(2008.08.18)
- ASP.NETでエクセル操作 その3(2008.08.15)
- ASP.NETでエクセル操作 その2(2008.08.14)
- ASP.NETでエクセル操作 その1(2008.08.13)
- ASP.NET AJAX AutoCompleteコントロール(2008.05.01)
« Music Creator 4 | トップページ | Epiphone Japan Les Paul Standard GoldTop »
コメント