是否可以将SSRS报告集成到webforms中......一个例子就足以让我继续前进.
绝对是.
您正在寻找的是ReportViewer控件,位于Microsoft.Reporting.WebForms程序集中.它允许您在Web表单上放置一个控件权限,为人们提供设置报表参数和获取报表的界面.
或者,您可以自己设置所有参数,并以您需要的任何格式输出报告.我们在我们的应用程序中使用它来输出PDF.
例如,这就是我们为其中一个报告设置reportviewer对象并获取PDF,然后将其发送回用户的方法.特定代码块是Web处理程序.
public void ProcessRequest(HttpContext context) { string report = null; int managerId = -1; int planId = -1; GetParametersFromSession(context.Session, out report, out managerId, out planId); if (report == null || managerId == -1 || planId == -1) { return; } CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture; Listparameters = new List (); parameters.Add(new ReportParameter("Prefix", report)); parameters.Add(new ReportParameter("ManagerId", managerId.ToString())); parameters.Add(new ReportParameter("ActionPlanId", planId.ToString())); string language = Thread.CurrentThread.CurrentCulture.Name; language = String.Format("{0}_{1}", language.Substring(0, 2), language.Substring(3, 2).ToLower()); parameters.Add(new ReportParameter("Lang", language)); ReportViewer rv = new ReportViewer(); rv.ProcessingMode = ProcessingMode.Remote; rv.ServerReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["ReportServer"]); if (ConfigurationManager.AppSettings["DbYear"] == "2007") { rv.ServerReport.ReportPath = "/ActionPlanning/Plan"; } else { rv.ServerReport.ReportPath = String.Format("/ActionPlanning{0}/Plan", ConfigurationManager.AppSettings["DbYear"]); } rv.ServerReport.SetParameters(parameters); string mimeType = null; string encoding = null; string extension = null; string[] streamIds = null; Warning[] warnings = null; byte[] output = rv.ServerReport.Render("pdf", null, out mimeType, out encoding, out extension, out streamIds, out warnings); context.Response.ContentType = mimeType; context.Response.BinaryWrite(output); }