Email: Password:       Forgot Password 
A Saarsha Group Online Community for dot net codes group like C#, Asp.NET, VB.NET, Sharepoint, JavaScript, JQuery, Ajax, SQL, WCF, WPF.

Printing in ASP.NET

Viewed:  2341 
Posted On:  18/05/2013 00:30:02 
One of the most common functionality in any ASP.NET application is to print forms and controls. In this article I am going to show how we can achieve this print functionality in our application. 

One of the most common functionality in any ASP.NET application is to print forms and controls.

In this article, I am going to show how can we achieve this print functionality in our application. For this, I created a PrintHelper class. In this class, I made a method 'PrintWebControl'. With this method we can print any server control alike GridView, DataGrid, Panel, TextBox etc.

This is my PrintHelper.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
using System.Web.SessionState;
/// <summary>
/// Summary description for PrintHelper
/// </summary>
public class PrintHelper

 public PrintHelper()
        // TODO: Add constructor logic here
    public static void PrintWebControl(Control ctrl)
        PrintWebControl(ctrl, string.Empty);
    public static void PrintWebControl(Control ctrl, string Script)
        StringWriter stringWrite = new StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = newSystem.Web.UI.HtmlTextWriter(stringWrite);

        if (ctrl is WebControl)
            Unit w = new Unit(100, UnitType.Percentage); ((WebControl)ctrl).Width = w;
        Page pg = new Page();
        pg.EnableEventValidation = false;
        if (Script != string.Empty)
            pg.ClientScript.RegisterStartupScript(pg.GetType(), "PrintJavaScript", Script);
        HtmlForm frm = new HtmlForm();
        frm.Attributes.Add("runat", "server");
        string strHTML = stringWrite.ToString();
Here, in this application, I created 2 pages. First is the default page of the content that I want to print.On the same page, I set a Print button also. When it will be clicked, it will redirect the user to the second page, named as 'Print.aspx'.


@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""">
<html xmlns="">
<head runat="server">
    <title>Pring in ASP.NET</title>
    <form id="form1" runat="server">
            <asp:Button ID="btnPrint" runat="server" Text="Print" OnClick="btnPrint_Click" /><br/>
            <asp:Panel ID="pnl1" runat="server">
                <table cellpadding="4" cellspacing="4" width="50%" align="center">
                        <td align="center">
                            Fill all information
                            <asp:Label ID="Label1" runat="server" Text="Email" Width="130px"></asp:Label>
                            <asp:TextBox runat="server"></asp:TextBox>
                            <asp:Label ID="Label2" runat="server" Text="Name" Width="130px"></asp:Label>
                            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                            <asp:Label ID="Label6" runat="server" Text="Country" Width="130px"></asp:Label>
                            <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
                            <asp:Label ID="Label3" runat="server" Text="Mobile" Width="130px"></asp:Label>
                            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>


Image 1.

Click event of 'print' button is:

protected void btnPrint_Click(object sender, EventArgs e)
             Session["ctrl"] = pnl1;
            ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script

When, the 'Print' button is clicked,screen will be looking as
 under in the Image 2


Image 2.

Following is the load event of this page, 'Print.aspx':

protected void Page_Load(object sender, EventArgs e)
     Control ctrl = (Control)Session["ctrl"];

By Siddarth  On  28/05/2013 23:23:29
very helpful Sir... thanks for the help...
         HOME   |   Submit Article   |   Contact Us   |   About Us   |   Terms & Condition   |   Advertise With us