报告查看器未生成报告

时间:2015-02-01 11:14:39

标签: c# asp.net

这是代码背后运行的代码:

protected void Page_Load(object sender, EventArgs e)
{ 
    string type = Request.QueryString["type"];
    string q =(string) Session["query"];
    string b=(string) Session["bg"];
    string r=(string) Session["rh"];
    string k=(string) Session["key"];

    if (type == "browse") {
        SqlConnection c= db.getConnection();
        c.Open();
        SqlDataAdapter x=new SqlDataAdapter(q,c);
        DataSet ds = new DataSet();
        x.Fill(ds);
        ReportParameter[] parm = new ReportParameter[3];
        parm[0] = new ReportParameter("BT","");
        parm[1] = new ReportParameter("RH",r );
        parm[2] = new ReportParameter("KEY",k );
        ReportViewer1.LocalReport.ReportPath = @".\Reports\DonorsBrowse.rdlc" ;
        ReportViewer1.LocalReport.SetParameters(parm);
        ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1",ds.Tables[0]));
        ReportViewer1.DataBind();

        ReportViewer1.LocalReport.Refresh();
    }
}

这是aspx网页代码

<form id="form1" runat="server">
    <div>
    </div>
    <asp:ScriptManager ID="ScriptManager1" runat="server">        </asp:ScriptManager>
        <rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
</form>

我错过了什么?报告视图加载但是为空。 它缺少选项

2 个答案:

答案 0 :(得分:0)

修好了

只需要包装

中的所有代码
if(!IsPostBack){
//code
}

答案 1 :(得分:0)

尝试执行以下操作:

  1. 使用Page_init方法代替Page_Load在代码后面编写代码。

    Page_init(object sender, EventArgs e){
        if(!IsPostBack){
            // your code
        }
    }
    
  2. 如果显示错误,请在输出窗口中检查您的报告查看器。

  3. 检查您的报告路径。