1
我試過執行this example,但進程從不顯示。我的頁面沒有包含任何UpdatePanel或任何東西,這可能是爲什麼?ASP.Net客戶端模式進度指示器
在我的網頁聲明,我說:
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
head元素我已經添加內部:
<script src="Scripts/jsUpdateProgress.js" type="text/javascript"></script>
我的表單標籤內
隨即我加:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Panel ID="panelUpdateProgress" runat="server" CssClass="updateProgress">
<asp:UpdateProgress runat="server" ID="UpdateProg1" DisplayAfter="0">
<ProgressTemplate>
<div style="position:relative; top:30%; text-align: center;">
<img src="Processing.gif" style="vertical-align: middle" alt="Processing"/>
Processing...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender runat="server" ID="ModalProgress" TargetControlID="panelUpdateProgress" BackgroundCssClass="modalBackground" PopupControlID="panelUpdateProgress"/>
緊隨結束表單標籤我已添加:
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginReq);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endReq);
var ModelProgress = '<%= ModalProgress.ClientID %>';
function beginReq(sender, args) {
$find(ModalProgress).show();
}
function endReq(sender, args) {
$find(ModalProgress).hide();
}
</script>
的按鈕,我希望事業進步,以顯示:
<asp:Button runat="server" ID="submit" CssClass="multiViewTab" Text="Submit"/>
那個按鈕肯定是因爲我的表單標籤回發我有:
onsubmit="return validateForm()"
而且validateForm運行。如果表單有效,validateForm還會啓動submitForm函數,並且這包含調用Web服務的AJAX調用。
以2:
更簡單和純粹的AJAX,但仍然無法正常工作。
</form>
<script type='javascript'>
$(document).ready(function() {
$('body').append('<div id="ajaxBusy"><p><img src="Processing.gif"></p></div>');
$('#ajaxBusy').css("updateProgress");
});
$(document).ajaxStart(function() {
$('#ajaxBusy').css("z-index", 2);
}).ajaxStop(function() {
$('#ajaxBusy').css("z-index", -1);
});
我使用的z-index,因爲我有一個臨時搭建的「嚮導」,它在本質上顯示/隱藏使用的z-index和進步的div的div不會顯示出來,如果我不更改z-索引。
有道理。謝謝。發現了另一個使用純AJAX的例子,但仍然沒有運氣。我會用那個更新我的帖子。 – jmease
我想我知道爲什麼那個現在不工作。對Web服務的AJAX調用處於循環狀態。所以也嘗試了ajaxComplete。 ajaxStart從不發射,或者在第一次完成循環時立即取消。 – jmease
好的,請記住,UpdateProgress僅在部分回發(UpdatePanel)時纔有用。通過ajax調用web方法不一定會執行部分回發,這可能是您正在經歷的。我會想象你的Take 2例子會起作用,但是......結合你的z-index調整,我也會讓它可見或隱藏(以防z-索引是問題 - 我會仔細檢查如果我是你):'$('#element')。show()'或'$('#element')。hide()' – Jeremy