1
我有一個加載RDLC報告的aspx頁面。在page_load上加載RDLC
當我在回發中加載報告時(即通過向頁面添加一個按鈕,該頁面什麼都不做,只是發回頁面並調用DoReport()方法),報告加載正常。但是,如果我嘗試直接加載在頁面加載的報告(即我把在Page_Load中的將DoReport()方法,該網頁似乎無休止地運行,Page_Load中被稱爲數百次
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request.QueryString["ReportID"]))
{
BuildReport(Convert.ToInt32(Request.QueryString["ReportID"]));
}
}
private void BuildReport(int reportID_)
{
Database db = DatabaseFactory.CreateDatabase();
DataTable tbl = db.ExecuteDataSet(CommandType.Text, "select top 10 * from TABLE_NAME").Tables[0];
RdlcBuilder rdlcBuilder = new RdlcBuilder(reportID_); //custom class that builds the RDLC based on the report ID
XmlDocument xmlDoc = new XmlDocument();
Bind(rdlcBuilder.GetRdlcStream(xmlDoc), tbl);
}
private void Bind(Stream reportDefinitionStream_, DataTable dataSource_)
{
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.Width = new Unit(700);
ReportViewer1.Height = new Unit(1200);
ReportViewer1.LocalReport.EnableExternalImages = true;
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSetName", dataSource_));
ReportViewer1.LocalReport.LoadReportDefinition(reportDefinitionStream_);
}
再次 - 這頁面工作正常,如果我從一個命令按鈕
你能在這裏把Page_Load中的代碼? – DeveloperX
也把DoReport(),我更懷疑那造成問題 –