protected void btn_Search_Click(object sender, ImageClickEventArgs e) { ReportViewer1.ServerReport.ReportPath = "/Report/XLGLTJ"; string strDT1 = (dt_work1.Text.Trim() != "") ? dt_work1.Text.Trim() : DateTime.Now.ToString(_strFormat); string strDT2 = (dt_work2.Text.Trim() != "") ? dt_work2.Text.Trim() : DateTime.Now.ToString(_strFormat); string strDT3 = (dl_ywqy.SelectedValue != "") ? dl_ywqy.SelectedValue : ""; string strDT4 = (dl_hwxz.SelectedValue != "") ? dl_hwxz.SelectedValue : ""; string strDT5 = (dl_myxz.SelectedValue != "") ? dl_myxz.SelectedValue : ""; string strDT6 = (tb_Start.Text.Trim() != "") ? tb_Start.Value.Trim() : ""; string strDT7 = (tb_End.Text.Trim() != "") ? tb_End.Value.Trim() : ""; string strDT8 = (tb_Contain.Text.Trim() != "") ? tb_Contain.Value.Trim() : ""; string strDT9 = (ddl_Cust.Text.Trim() != "") ? ddl_Cust.Value.Trim() : ""; ReportParameter p1 = new ReportParameter("begdate", strDT1); ReportParameter p2 = new ReportParameter("enddate", strDT2); ReportParameter p3 = new ReportParameter("Region", strDT3); ReportParameter p4 = new ReportParameter("CargoType", strDT4); ReportParameter p5 = new ReportParameter("Trade", strDT5); ReportParameter p6 = new ReportParameter("StartPlace", strDT6); ReportParameter p7 = new ReportParameter("EndPlace", strDT7); ReportParameter p8 = new ReportParameter("ContainPlace", strDT8); ReportParameter p9 = new ReportParameter("CustomName", strDT9); ReportViewer1.ServerReport.SetParameters(new ReportParameter[] { p1, p2, p3, p4, p5, p6, p7, p8, p9 }); } 把存储过程设置为参数=''就可以与以上对应了.