我們正在與我們的商店/網站問題。 我們正在使用jQuery來爲模式啓動AJAXToolkitExtender。
問題是,我們應該在更新面板中包裝按鈕,該面板調用觸發模式的jQuery。 我們的問題在於,我們因爲某些原因在Firefox和Chrome中獲得了雙倍的回覆。反過來,當我們從服務器獲取錯誤並顯示在UI上時,它會清除我們的購物車。我們希望通過jQuery獲得我們的調用狀態,而不必使用UpdatePanel。 UpdatePanels在Firefox中發現了一些已知問題,因爲它們發回了雙引號。有沒有人有直接的客戶端網站解決方案或解決方案,我們不必使用更新面板來獲取狀態或調用服務器並顯示和隱藏更新面板。 我們的代碼如下: 在ASCXjQuery Asp.NET Modal Progess無需更新面板
<script type="text/javascript" language="javascript">
var ModalProgress = '<%= ModalProgress.ClientID %>';
</script>
<script type="text/javascript" src="/Scripts/jsUpdateProgress.js"></script>
<asp:Panel ID="panelUpdateProgress" runat="server" CssClass="updateProgress">
<asp:UpdateProgress ID="UpdateProg1" DisplayAfter="0" runat="server">
<ProgressTemplate>
<div id="processingOrderProgress">
<div id="processingOrderProgressText">
<%=GetLocaleResourceString("Museum.MuseumOrderConfirmationProcessingText")%>
</div>
<img src="../App_Themes/Museum/images/museumLayout/loading.gif" alt="Processing" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="ModalProgress" runat="server" TargetControlID="panelUpdateProgress"
BackgroundCssClass="modalBackground" PopupControlID="panelUpdateProgress" />
這是從jsUpdateProgress.js
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginReq);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endReq);
function beginReq(sender, args) {
// shows the Popup
$find(ModalProgress).show();
}
function endReq(sender, args) {
// hides the Popup
$find(ModalProgress).hide();
}
執行此操作的一種方法是將PageMethods(或Web Service)與jQuery Ajax調用一起使用。 SO中有很多關於如何做到這一點的例子。 – Icarus