【经验分享】ASP.NET 页面打印与预览

第一种是所见即所得的:


<html>
<head>
<title> ASP.NET 打印 - 所见即所得 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
function preview()
{
 bdhtml
=window.document.body.innerHTML;
 sprnstr
="<!--startprint-->";
 eprnstr
="<!--endprint-->";
 prnhtml
=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
 prnhtml
=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
 window.document.body.innerHTML
=prnhtml;
 window.print();
 
//prnform.htext.value=prnhtml;
 //prnform.submit();
 //alert(prnhtml);
}

</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣
<center>本部分以上不被打印</center>
<!--startprint-->
<table width="84%" align="center" bgcolor="#0000FF" cellpadding="2" cellspacing="1">
  
<tr bgcolor="#6699FF">
    
<td>
      
<div align="center">标题一</div>
    
</td>
    
<td>
      
<div align="center">标题二</div>
    
</td>
    
<td>
      
<div align="center">标题三</div>
    
</td>
    
<td>
      
<div align="center">标题四</div>
    
</td>
    
<td>
      
<div align="center">标题五</div>
    
</td>
  
</tr>
  
<tr bgcolor="#6699FF">
    
<td> </td>
    
<td> </td>
    
<td> </td>
    
<td> </td>
    
<td> </td>
  
</tr>
</table>
<!--endprint-->
<center>本部分以下不被打印</center>
辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣
<div align="center">
  
<input type="button" name="print" value="预览并打印" onclick="preview()">
</div>
<style>
@media print 
{
   .Noprn {display
:none;}

}
</style>
<class="Noprn">不打印</p>
<table id=datagrid><tr><td>打印</td></tr></table>
<input class=Noprn type=button onclick="window.print()" value="print">
</body>
</html>

 

第二种是对页面样式进行解析后的

 


function doPage()
{
    layLoading.style.display 
= "none";//同上
}

 
//设置网页打印的页眉页脚为空 
function PageSetup_Null() 

 
try 
 

  
var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key
="header"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,""); 
  HKEY_Key
="footer"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,"");   
 }
 
 
catch(e){} 
}
 
 
//设置网页打印的页眉页脚为默认值 
function  PageSetup_Default() 
{   
 
try 
 

  
var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key
="header"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P"); 
  HKEY_Key
="footer"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,"&u&b&d"); 
 }
 
 
catch(e){} 
}
 
 
/*
 *预览函数 
 *controlsList  要隐藏的控件
 *doType 页面页脚类型  0 设置为空,1 设置为默认
 
*/

function printpr(controlsList,doType)   
{
 
if(doType == '0'){
  PageSetup_Null();
 }

 
else{
  PageSetup_Default();
 }

 
var control = controlsList.split(","); 
 
for(i = 0;i < control.length;i++){//隐藏控件
  document.getElementById(control[i]).style.display = "none";
 }

 
var OLECMDID = 7;
 
var PROMPT = 1
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
 document.body.insertAdjacentHTML(
'beforeEnd', WebBrowser); 
 WebBrowser1.ExecWB(OLECMDID, PROMPT);
 WebBrowser1.outerHTML 
= "";
 
for(i = 0;i < control.length;i++){//打印之后将该元素显示出来
  document.getElementById(control[i]).style.display = "";
 }

 window.location.reload();
//刷新窗口
}


/*
 *预览函数 
 *controlsList  要隐藏的控件(用逗号连接)
 *doType 页面页脚类型  0 设置为空,1 设置为默认
 
*/

function printTure(controlsList,doType)   //打印函数
{    
 
if(doType == '0'){
  PageSetup_Null();
 }

 
else{
  PageSetup_Default();
 }

 
var control = controlsList.split(",");
 
for(i=0;i<control.length;i++){//隐藏控件
  document.getElementById(control[i]).style.display = "none";
 }

    window.print();
 
for(i=0;i<control.length;i++){
  document.getElementById(control[i]).style.display 
= "";
 }

    window.location.reload();
}

 


<div style="text-align: right">
  
<input type="button" name="btn" value="打印" onclick="printTure('btn,show','0')" />
  
<input type="button" name="show" value="预览" onclick="printpr('btn,show','0')" />
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值