描述:对Report server做了一个小练习,算是入门,但发现运行起来后,页面一直处于加载状态,不知为何?
解决:查了一下网上的资料,解决的方法是
1 protected void Page_Load(object sender, EventArgs e) 2 { 3 if (!Page.IsPostBack) 4 { 5 Show(); 6 } 7 } 8 public void Show() 9 { 10 try 11 { 12 string conn = System.Configuration.ConfigurationManager.ConnectionStrings["WX_TESTConnectionString"].ConnectionString; 13 SqlConnection Sqlcon = new SqlConnection(conn); 14 SqlCommand Sqlcmd = new SqlCommand("select * from Person", Sqlcon); 15 SqlDataAdapter SqlDA = new SqlDataAdapter(); 16 DataSet ds = new DataSet(); 17 SqlDA.SelectCommand = Sqlcmd; 18 SqlDA.Fill(ds); 19 Sqlcon.Close(); 20 21 //重新绑定报表数据源 22 this.ReportViewer1.LocalReport.ReportPath = AppDomain.CurrentDomain.BaseDirectory + "Report1.rdlc"; 23 this.ReportViewer1.LocalReport.DataSources.Clear(); 24 this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1", ds.Tables[0])); 25 this.ReportViewer1.LocalReport.Refresh(); 26 } 27 catch (Exception ex) 28 { 29 throw ex; 30 } 31 }
关键就在于show()这个方法不能直接写在Page_Load,要判断回传页面(IsPostBack)在执行show()!