print an asp.net page using javascripts window.print()

Hi,

What code do I need to use with the window.print() bit on my asp.net page to print whats on that page?

i have this
 <asp:button ID="Button1" runat="server" text="Print" OnClientClick="window.print();return false"/>

Do i need to put some code in the head of my page or in the aspx.cs page?
Thanks
CharlieDevAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DhaestCommented:
you will have to use javascript to open the print dialog. web applications cannot send print commands directly to a local printer, this would be a huge security hole as someone could attack a companies printer's with massive print commands that would drive the printers to print tons of junk.

<input type="button" value="yourbutton" onclick="print()">

you need to have this javascript code on your page (placed in the head section of the html)

<script language="javascript">
       function print()
       {
              window.print();
       }
</script>

this will open a print dialog and when you submit it, the contents of the window will be sent to it(same thing as hitting print on the browser).

Source: http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_21495871.html
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CharlieDevAuthor Commented:
Thanks but i get the error in a popup box of stack overflow at line 12

  <script type="text/javascript">
       function print()
       {
              window.print();
       }
</script>

line 12 being -  window.print();

I had to put script type="text/javascript"> as it complained with your code that i didnt have a type

Any ideas?

Thanks

0
DhaestCommented:
To add javascript to your page so that users can print the content from your site is very simple, you can use an image instead of text to be clicked on in order to print but the general idea of what you should be doing is below, together with an example.

<p><a href="#" onClick="javascript:window.print()">Print this page</a></p>

0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

CharlieDevAuthor Commented:
Still get the same error message
<head runat="server">
    <title>Untitled Page</title>
      <link href="../css/default.css" type="text/css" rel="stylesheet" />
      <script type="text/javascript">
       function print()
       {
              window.print();
       }
</script>
</head>
<body>
<div class="PrintContainerFixtures">
    <form id="form1" runat="server">
                                
                                    <div class="colu1">
                                        <h5><asp:Label ID="Monthfixtureslabel" runat="server" Text=""></asp:Label></h5>
                                       <a href="#" onClick="javascript:window.print()">Print this page</a>
                                    </div>
                   
                            
                                        <div class="PrintGrid">
                                            <asp:GridView ID="gvwDisplayFixtures" GridLines="Both" runat="server" AutoGenerateColumns="False" showheader="true"
                                                Border="1" CssClass="gridPrintDisplayFixtures">
                                                <Columns>
                                                    <asp:BoundField DataField="Date" ItemStyle-CssClass="printdateHeaderFix" HeaderText="Date" />
                                                    <asp:BoundField DataField="Day" ItemStyle-CssClass="printdayHeaderFix" HeaderText="Day" />
                                                    <asp:BoundField DataField="Event" ItemStyle-CssClass="printeventHeaderFix" HeaderText="Event"/>
                                                    <asp:BoundField DataField="Time" ItemStyle-CssClass="printtimeHeaderFix" HeaderText="Time"/>
                                                </Columns>
                                            </asp:GridView>
                                            <asp:Label ID="lblStatus" runat="server"></asp:Label>
                                        </div>
                                       </form>
                                    </div>
                             
                            
</body>
</html>

Open in new window

0
DhaestCommented:
Based on what you've posted, I can tell you this much: A Stack Overflow is almost always caused by an infinite loop. It has nothing to do with JavaScript, printing, or C#.
0
CharlieDevAuthor Commented:
ok thanks for your help, i will post back on here when i find the problem
0
CharlieDevAuthor Commented:
Working code below, source- http://visualstudiomagazine.com/columns/article.aspx?editorialsid=1907
 <script language="JavaScript"><!--
function PrintContent() {
   parent.Content.focus();  
   // Required to support IE
   parent.Content.print();
}
//--></script>
</head>
<body>
<div class="PrintContainerFixtures">
    <form id="form1" runat="server">
                                
                                    <div class="colu1">
                                        <h5><asp:Label ID="Monthfixtureslabel" runat="server" Text=""></asp:Label></h5>

Open in new window

0
CharlieDevAuthor Commented:
Cheers :)
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.