2008-09-30 75 views
3

我有我的ASP頁面,我每次更改過濾器,點擊查看報告時間報告,我得到這個錯誤:微軟JScript運行時錯誤:「this._postBackSettings.async」爲空或不是對象

微軟JScript運行時錯誤:「this._postBackSettings.async」爲空或不是對象

我試圖改變的EnablePartialRendering =「true」將的EnablePartialRendering =「假」,但後來人們無法在網站上登錄

+0

這是sql報告服務嗎?你能多給點信息嗎? – mattlant 2008-09-30 09:02:17

+0

我有同樣的問題。我正在使用Reporting Services 2008和新的報表查看器控件。我的報告頁面在主頁面內,我的主頁面上有一個腳本管理器。 – Don 2008-10-07 17:10:28

回答

1

將按鈕放在面板(不更新面板)內,然後將此線添加到面板 DefaultButton =「Button1」

這將避免錯誤。

1

我也有這個問題,雖然在我的情況下沒有涉及的報告:它只是一個正常的圖像按鈕的asp.net頁面。事情是,在客戶端點擊我是用這段代碼取消下一個JavaScript事件:

event.cancelBubble = true; 
if (event.stopPropagation) 
    event.stopPropagation(); 

我刪除了代碼,問題也消失了。我的猜測是,asp.net ajax需要在客戶端點擊時做一些處理,也許你的報表控件正在做我喜歡的事情。希望它可以幫助你找到你的問題,併爲我的英語感到抱歉:) Regards, MMM

1

我剛剛得到了這個問題,並發現了一個意外的解決方案。

將ScriptManager移到母版頁後 - 只有當我使用沒有更新面板的頁面時,問題纔開始顯示。

通過將ScriptManager標記移動到母版頁的內容區域前方來解決此問題。

JavaScript排序問題?

+0

非常奇怪,但是您的評論只是解決了與無更新面板的主頁面和頁面相同的問題。 謝謝! – JamPickle 2009-10-21 16:09:23

1

通過將EnablePartialRendering設置爲ScriptManager的虛假來解決此問題。

ScriptManager1.EnablePartialRendering = false; 

OnInit事件在使用rsweb:ReportViewer頁面。 如果要啓用其他頁面,請在母版頁OnInit上將其設置爲true。

2

我已經有同樣的問題,並沒有真正找到任何令人滿意的解決方案,直到我結束了http://siderite.blogspot.com/2009/02/thispostbacksettingsasync-is-null-or.html這正是我想要的。

只是爲了避免在未來這裏可能死鏈接的問題是代碼:

var script = @" 
if (Sys && 
    Sys.WebForms && Sys.WebForms.PageRequestManager && 
    Sys.WebForms.PageRequestManager.getInstance) 
{ 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    if (prm && 
     !prm._postBackSettings) 
    { 
     prm._postBackSettings = prm._createPostBackSettings(false, null, null); 
    }"; 

ScriptManager.RegisterOnSubmitStatement(
    Page, 
    Page.GetType(), 
    "FixPopupFormSubmit", 
    script); 

在的情況下,一個提交而不_postBackSettings被設置創建它們,導致空引用異常消失_postBackSettings .async然後可用。

希望這有助於

G.

4

我發現了另一種解決這個問題。

我使用Telerik RadScriptManager和RadAjaxManager(它們構建在各自的ASP.NET框架對象上)。當我實現JQuery UI動畫來隱藏按鈕時,我發現了一些問題 - 我執行了按鈕的「OnClientClick」動畫。

爲了解決這個問題,我處理了OnRequestStart和OnResponseEnd客戶端事件,並分別從OnRequestStart和OnResponseEnd執行適用的隱藏和顯示動畫。

我知道不是每個人都使用Telerik,但是這個概念可能很關鍵,並且可能適用於其他AJAX框架:在對Ajax元素執行客戶端更改時(尤其是AJAX請求處理期間發生的動畫更改),請將這些在您的框架的RequestStart/ResponseEnd客戶端事件處理程序中而不是在Ajax化元素的客戶端事件處理程序中發生變化。

相關問題