//Creating report Microsoft.Reporting.WebForms.LocalReport report = new Microsoft.Reporting.WebForms.LocalReport(); report.ReportPath = Request.PhysicalApplicationPath + @"pathToreport.rdlc"; report.DisplayName = "Ttile"; //Setting the data //SetMyLinqDataSource(); myLinqDataSource.WhereParameters.Add(new Parameter("bla", avalue)); myLinqDataSource.Where = "field1 = @bla"; report.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("MyDataSetName", myLinqDataSource)); //delivering to web user Microsoft.Reporting.WebForms.Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; //Here the databind should happen byte[] bytes = report.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings); Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment; filename=Report.pdf"); Response.Flush(); Response.BinaryWrite(bytes); Response.Flush();