我正在使用UpdatePanel,並且需要在頁面刷新UpdatePanel的同時顯示某種Ajax anination。ASP.NET:使用UpdatePanel回發時禁用所有控件 - 類似於ajas動畫?
什麼是偉大的是能夠禁止所有的控制和顯示AJAX加載信息..
我很想把一個div高於一切的頂部 - 就像覆蓋。 JQuery UI對話框幾乎相同。
有沒有人有這方面的經驗?
問題是,用戶從一個回傳返回之前單擊項目(使用更新面板)
在此先感謝
我正在使用UpdatePanel,並且需要在頁面刷新UpdatePanel的同時顯示某種Ajax anination。ASP.NET:使用UpdatePanel回發時禁用所有控件 - 類似於ajas動畫?
什麼是偉大的是能夠禁止所有的控制和顯示AJAX加載信息..
我很想把一個div高於一切的頂部 - 就像覆蓋。 JQuery UI對話框幾乎相同。
有沒有人有這方面的經驗?
問題是,用戶從一個回傳返回之前單擊項目(使用更新面板)
在此先感謝
您可以使用更新進度AJAX控件工具包的控制。當頁面引用更新面板時,則會顯示下面的圖像,用戶不能點擊頁面項目。
<ajax:UpdateProgress AssociatedUpdatePanelID="UpdatePanel3" ID="updateProgress3" runat="server">
<ProgressTemplate>
<div>
<img alt="Loading" src="images/Adding.gif" />
</div>
</ProgressTemplate>
</ajax:UpdateProgress>
這裏UpdatePanel3是你的更新面板的ID。
您還可以添加ajaxcontrol工具包的AlwaysVisibleControlExtender。
<cc1:AlwaysVisibleControlExtender ID="AlwaysVisibleControlExtender3" runat="server"
TargetControlID="updateProgress3" VerticalSide="Middle" HorizontalSide="Center"
VerticalOffset="10" HorizontalOffset="10" ScrollEffectDuration=".1">
</cc1:AlwaysVisibleControlExtender>
這裏cc1是ajax控件工具包dll的標籤前綴。
我也在爲這個問題而苦苦掙扎,幸運地碰到了UpdateProgress Control Overview on MSDN。該頁面上的示例顯示祕密 javascript用於掛接到ASP UpdatePanel控件的異步ajax調用。稍作修改後,我可以使jQuery BlockUI plugin與ASP UpdatePanel一起使用。
這就是我最終的結果。這裏應該有足夠的空間,以便在異步回調開始時以及結束時可以執行任何操作。
HTML
<asp:UpdateProgress runat="server" id="updateProgress1" AssociatedUpdatePanelID="UpdatePanel1" DynamicLayout="false" DisplayAfter="0">
<ProgressTemplate>Processing...</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<!-- Some stuff here -->
</ContentTemplate>
</asp:UpdatePanel>
JAVASCRIPT
$(document).ready(function() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) {
// Whatever you want to happen when the async callback starts
$.blockUI();
}
function EndRequest(sender, args) {
// Whatever you want to happen when async callback ends
$.unblockUI();
}
});
注意,我包括一個ASP UpdateProgress控件,因爲如果你沒有這樣的,JavaScript的不工作的權利是非常重要的。它會阻止和解鎖UI,但回調返回時不會發生解鎖部分,它幾乎在異步調用開始後立即發生。
這是足以讓我阻止控件本身DropDownList
而不是整個UI和我所做的,而不是使用jquery.blockUI()
插件,我只是增加了一條線,它工作得很好,我
這裏是我做過什麼添加:
$('#DD_selectPassportType').attr('disabled', 'disabled');
@的InitializationRequest
function InitializeRequest(sender, args) {
// Whatever you want to happen when the async callback starts
$('#DropDownList_ID').attr('disabled', 'disabled');
}
function EndRequest(sender, args) {
// Whatever you want to happen when async callback ends
nothing I did in here
}