まず第一に、これはjavascriptとcssを使用して実行でき、コードビハインドでは実行できません。だからここにあなたがそれをすることができる方法の例があります:
ページマスク
ページにそのトリックを作るコードを固めます。ページをクリックできないように見せ、フェードアウトさせる方法を選択したとします。
これは、divとcssを使用して実行できます。これを行うインターネット上の例はたくさんあります。これがフルページオーバーレイのサンプルコードです。
<style>
#displaybox {
z-index: 10000;
filter: alpha(opacity=50); /*older IE*/
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /* IE */
-moz-opacity: .50; /*older Mozilla*/
-khtml-opacity: 0.5; /*older Safari*/
opacity: 0.5; /*supported by current Mozilla, Safari, and Opera*/
background-color:#000000;
position:fixed; top:0px; left:0px; width:100%; height:100%; color:#FFFFFF; text-align:center; vertical-align:middle;
}
</style>
同期ページの読み込み/またはポストバック
htmlページ部分の本文の直後にフェードアウトdivを設定し、flush()を作成して、次のようにすぐに表示されるようにします。
<div id="FadeOutBox" ></div><%Response.Flush(); %>
ページの下部で、javascriptを使用して削除するか、cssスタイルを次のように上書きします。
<script>document.getElementById('FadeOutBox').style.display = "none";</script>
非同期/UpdatePanel呼び出し
更新パネルがある場合は、次のように、更新パネルが発生するイベントをキャプチャし、このdivを毎回表示するかどうかを指定する必要があります。
<script>
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
// Show the mask
document.getElementById('FadeOutBox').style.display = "block";
}
function EndRequestHandler(sender, args) {
// Hide it
document.getElementById('FadeOutBox').style.display = "none";
}
</script>
ポストバックですぐにページマスクを開きます
ポストバックでページをロードする前にページマスクを開いて、ページをロードした後に開くこともできます。このコードビハインドを使用して送信をキャプチャします。
if (Page.EnableEventValidation)
{
if (string.IsNullOrEmpty(Page.Form.Attributes["onsubmit"]))
{
Page.Form.Attributes["onsubmit"] = "return ShowWait();";
}
}
そしてjavascriptの部分で:
function ShowWait()
{
document.getElementById('FadeOutBox').style.display = "block";
return true;
}