4
我在使用報表查看器加載RDL文件的Visual Studio 2010(C#)中有一個奇怪的問題。WebForm.ReportViewer無限循環問題
我用下面的代碼加載RDL:
//get the data set and then
//.
//.
//pass the report to the viewer
using (FileStream stream = new FileStream(_AccessReportDocument.FileName, FileMode.Open))
{
this.AccessReportViewer.LocalReport.LoadReportDefinition(stream);
}
this.AccessReportViewer.LocalReport.Refresh();
的問題是,一旦上面這段代碼到達最後一行時,代碼會跳轉到該頁面的卸載方法,然後回到這一點。 AccessReportViewer.LocalReport.Refresh();即無限循環。有誰之前經歷過這個嗎?我已經讀過,與2010年的報告查看器有問題,但主要與設置參數,我還沒有試圖做...
調試顯示所有數據集等被檢索罰款 - 所以這是不是問題。
行,所以我讀的文章和管理,通過增加一個檢查來解決這個問題,看看(的IsPostBack!)。如果!IsPostBack == true,那麼我獲取數據並將其綁定到報告。這是有效的,但我不知道爲什麼它會導致報告無限加載。 – user559142 2012-01-16 10:10:34
這是因爲如果您沒有檢查回傳並在頁面加載時設置數據源,那麼因爲報告查看器控件本身會生成異步回發來呈現它自己,然後這會導致你的頁面加載並重新設置數據源,重置報告查看器,因此它都會重新開始。 – 2012-01-16 11:04:05