Dim instanceReportSource As New Telerik.Reporting.InstanceReportSource()
instanceReportSource.ReportDocument = New Reporting_Service.doc_PO_ShippingInstructions
instanceReportSource.Parameters.Add(New Telerik.Reporting.Parameter("Id", 31))
instanceReportSource.Parameters.Add(New Telerik.Reporting.Parameter("LanguageID", 1))
Dim reportProcessor As New ReportProcessor()
Dim result As RenderingResult = reportProcessor.RenderReport("PDF", instanceReportSource, Nothing)
Dim fileName As String = result.DocumentName + ".pdf"
Response.Clear()
Response.ContentType = result.MimeType
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Expires = -1
Response.Buffer = True
Response.AddHeader("Content-Disposition", String.Format("{0};FileName=""{1}""", "attachment", fileName))
Response.BinaryWrite(result.DocumentBytes)
Response.End()
Page has a buttion inside Multiview->view->updatepanel
<asp:MultiView ID="mvwReports" runat="server">
<asp:View ID="vwTotalCostOfOwnership" runat="server">
<div id="divExport" runat="server" class="aright">
<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<asp:ImageButton ID="imgBtnExcel" runat="server" CausesValidation="false" ToolTip="Excel"
Visible="true" AlternateText="Excel" Enabled="true" ImageUrl="~/App_Themes/WebBlue/images/excel_icon.gif"
OnClick="imgBtnExcel_OnClick" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="imgBtnExcel" />
</Triggers>
</asp:UpdatePanel></div>
</asp:View>
</asp:MultiView>
Code behind
protected void Page_Load(object sender, EventArgs e)
{
mvwReports.ActiveViewIndex = 0;
}
protected void imgBtnExcel_OnClick(object sender, EventArgs e)
{
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);//(HttpCacheability.Private);
Response.Expires = -1;
Response.Buffer = true;
Response.AddHeader("Content-Disposition", string.Format("{0};FileName=\"{1}\"",
"attachment","test" + ".xls"));
Response.TransmitFile("e:\\temp\\excel\\test.xls");
HttpContext.Current.ApplicationInstance.CompleteRequest();
}