はい、ASP.NET Web From (ASP.NET MVC ソリューションではありません) でこれを行いました。OnSubmit クライアント側イベント ハンドラを提供する必要があります。基本的には、Javascript、HTML Div、1 行のコードビハインドの 3 つの部分に分けられます。
JavaScript:
function ShowLoading(e) {
// var divBg = document.createElement('div');
var divBg = document.getElementById('blockScreen');
var divLoad = document.createElement('div');
var img = document.createElement('img');
img.src = 'images/ajax-loader.gif';
divLoad.setAttribute("class", "blockScreenLoader");
divLoad.appendChild(img);
divBg.appendChild(divLoad);
document.getElementById('blockScreen').style.display = 'block';
// These 2 lines cancel form submission, so only use if needed.
//window.event.cancelBubble= true;
//e.stopPropagation();
}
function HideLoading() {
//alert('hideloading');
document.getElementById("form1").onsubmit = null;
document.getElementById('blockScreen').style.display = 'none';
//alert('done');
}
次のDIVを追加
<div id="blockScreen" class="blockScreen" style="display:none"> </div>
最後に、分離コードの Page_Load に以下を追加します。
Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "submit", "ShowLoading()");
これで、ページのポストバックはすべて、基本的に onsubmit イベントを呼び出す必要があります。ページのポストバックが完了する前にアニメーションが表示されます。