我在我的ASP.NET 4.0應用程序中使用Telerik RAD編輯器控件,它在任何更新面板之外。在同一頁中,我使用了ModalPopUps &更新pannels以防止意外的完整回發。 從Javascript函數&以及從JavaScript函數調用的幾個服務器端按鈕單擊事件中,還有幾個Pagemethods。 在進程中經常頁面拋出下面突出顯示的Javascript錯誤&沒有JavaScript功能進一步進行或進一步調用任何服務器端方法或事件&程序已被吊死。一旦它被託管在本地服務器中,並且下面定義的錯誤發生,那麼應用程序將與進一步的JavaScript調用進行交互。談到避免Javascript錯誤,同時回發頁面
錯誤消息來自:
function Sys$WebForms$PageRequestManager$_endPostBack(error, executor, data) {
if (this._request === executor.get_webRequest()) {
this._processingRequest = false;
this._additionalInput = null;
this._request = null;
}
var handler = this._get_eventHandlerList().getHandler("endRequest");
var errorHandled = false;
if (handler) {
var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
handler(this, eventArgs);
errorHandled = eventArgs.get_errorHandled();
}
if (error && !errorHandled) {
**throw error;**
}
}
上述標記區域引發錯誤。
我嘗試了以下定義的方式,但還沒有能夠完成相同的事情,即要麼停止反映這個錯誤或跳過這個錯誤,以便它不會產生任何影響正常過程循環的影響應用。
試圖解決方法1. 首先,我曾試圖註冊該控件位於下更新潘內爾&在頁面加載執行任何服務器端事件。
ScriptManager ScrMgr = new ScriptManager(); ScrMgr.RegisterAsyncPostBackControl(this.LstBoxXSD);
試過溶液2 其次,我試圖結合控制與更新潘內爾內的臺異步觸發。
**<asp:AsyncPostBackTrigger ControlID="LstBoxXSD" EventName="SelectedIndexChanged"/>**
嘗試解決方案3. Nextly,還有就是用第三方編輯器控制的keydown事件從jQuery的極品,我不得不鉤住「的KeyDown」事件編輯器控制範圍內,但一旦更新潘內爾該IFrame執行任何異步回發它解除綁定,所以我已經在JQuery中完成下面的代碼,以維持iframe在編輯器&之間的掛鉤綁定它是KeyDown事件。
**<script language="javascript" type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
$(document).ready(function() {
$(function() {
$('#3rdPartyControl_contentIframe').contents().find("body").bind("keydown", function (e) {
e = e || window.event; // because of Internet Explorer quirks...
var code = e.which || e.charCode || e.keyCode; ;
if (code == 49 && !e.altKey && !e.ctrlKey && !e.shiftKey) {
// alert(code);
} else if (code == 65 && e.altKey) {
// alert(code);
}
else if (code == 83 && e.altKey) {
SelectElement();
}
else if (code == 80 && e.altKey) {
if (String($find("3rdPartyControl").getSelectionHtml().trim()).length > 0) {
RemoveParentElem();
}
}
else if (code == 82 && e.altKey) {
if (String($find("3rdPartyControl").getSelectionHtml().trim()).length > 0) {
RemoveElem();
}
}
else {
}
});
});
});
}
</script>**
重要的是,我已經做了正文後面的上述JQuery代碼。 請幫我解決上述問題,我可以停止產生這個錯誤或繞過錯誤無論如何。因爲它完全推遲了項目的完成。