其实很久之前就想实现这个功能了,网页上边打印原来一般都是把数据导出来,导出到Excel进行打印,前几天从网上买东西看到现在的网上商店打印东西都是弹出一个新的网页,从这个网页上边进行打印,觉得这是一个不错的思路,然后我根据这个写了一个简答的程序,试了一下感觉还不错,就发出来和大家共享。
希望大家提出意见。
母页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>网站打印</title>
<script type="text/javascript" language="javascript">
function sayHello() {
alert("hello world");
}
function ShowNewPage() {
window.open('Target.aspx', '新窗口', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="弹出" id="show" title="弹出" οnclick="ShowNewPage()" />
</div>
</form>
</body>
</html>
子页面前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Target.aspx.cs" Inherits="Target" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
table.gridview_m
{
border-collapse: collapse;
border:solid 1px #93c2f1;
width:98%;
font-size:10pt;
}
table.gridview_m td,th
{
border-collapse: collapse;
border:solid 1px #93c2f1;
font-size:10pt;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" BorderColor="Black" CssClass="gridview_m"
BorderStyle="Solid" BorderWidth="1px">
<HeaderStyle CssClass="girdview_head" />
<RowStyle CssClass="gridview_row" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
</div>
</form>
</body>
</html>
子页面后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class Target : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "server=.;database=CheckCardResult;integrated security=true";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT TOP 10 [User_Code],[Meter_Num],[Err_Type],[Err_Time] FROM [CheckCardResult].[dbo].[Result]";
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
}
catch (Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}
}