Export PDF from RDLC Report and open in Browser on Button Click using C# and VB.Net in ASP.Net code example

Example: Export PDF from RDLC Report and open in Browser on Button Click using C# and VB.Net in ASP.Net

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        ReportViewer1.ProcessingMode = ProcessingMode.Local;
        ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc");
        Customers dsCustomers = GetData("SELECT TOP 10 * FROM Customers");
        ReportDataSource datasource = new ReportDataSource("Customers", dsCustomers.Tables[0]);
        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(datasource);
    }
}
 
private Customers GetData(string query)
{
    string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    SqlCommand cmd = new SqlCommand(query);
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlDataAdapter sda = new SqlDataAdapter())
        {
            cmd.Connection = con;
 
            sda.SelectCommand = cmd;
            using (Customers dsCustomers = new Customers())
            {
                sda.Fill(dsCustomers, "DataTable1");
                return dsCustomers;
            }
        }
    }
}
 
protected void Open(object sender, EventArgs e)
{
    Warning[] warnings;
    string[] streamIds;
    string contentType;
    string encoding;
    string extension;
 
    //Export the RDLC Report to Byte Array.
    byte[] bytes = ReportViewer1.LocalReport.Render("PDF", null, out contentType, out encoding, out extension, out streamIds, out warnings);
 
    // Open generated PDF.
    Response.Clear();
    Response.Buffer = true;
    Response.Charset = "";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ContentType = contentType;
    Response.BinaryWrite(bytes);
    Response.Flush();
    Response.End();
}