zoukankan
html css js c++ java
【经验分享】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
>
<
p
class
="Noprn"
>
不打印
</
p
>
<
table
id
=datagrid
><
tr
><
td
>
打印
</
td
></
tr
></
table
>
<
input
class
=Noprn
type
=button
onclick
="window.print()"
value
="print"
>
</
body
>
</
html
>
第二种是对页面样式进行解析后的
Print.js
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
>
查看全文
相关阅读:
ASP.Net中实现XMl的标识列(ID列)或自增长列
ASP.Net 更新储存在xml文件中的数据(update操作)
系统分析师(1)网站介绍
ASP.Net 删除xml文件中的数据(delete操作)
DataGrid利用imagebutton实现更新操作
DataGrid利用imagebutton实现删除操作
JavaScript总结(1)Asp.Net 中利用JavaScript实现客户端验证
sql server 2005 压缩实例下所有数据库文件及日志文件(转载)作者:Program Life
Spreadsheet 对象
多参数sp_executesql
原文地址:https://www.cnblogs.com/a311300/p/1280411.html
最新文章
Atitit it法学论 uke协会it刑法attilax总结 目录 1. 法学plus 1 1.1. 替换表 1 2. 第一章 刑法概说 1 2.1. 财产 1 3. Line 65: 第四章 犯
Atitit hadoop使用总结 目录 1.1. 下载300m ,解压后800M 1 1.2. 二:需要的jar包 1 2. Demo code 2 2.1. WCMapper 2 2.2. WC
Atiitt 图片图像验证码生成法原理 目录 1.1. 常见的最简单图片验证码是利用图像api把随机数文字转图像 1 1.2. 常见较为复杂图片验证码的方法 ( 镂空文字 打散 干扰线 文字扭曲
Atitit 高级人员的特点与优点 目录 1. 综合能力强 1 2. 为什么要强调综合能力 木桶原理 1 3. 完善的知识结构 1 3.1. atitit attilax的新目标 未来学家.do
Atitit 运维之道 v2 s09.docx Atitit 运维之道 目录 1. 概念 2 1.1. devops算是最低门槛了。什么运维平台,搞来搞去也就那些东西。无外乎cmdb、部署、监
Atitit mvc之道 attilax著 1. Atitti mvc的几大概念 2 1.1. Dispatcher Controller 2 1.2. 声明式渲染 2 1.3. 条件与循环
Atitit 前端重要概念和趋势总结 大前端 目录 1. 大前端 1 2. 三个层面上的大前端 1 2.1. 大前端与NodeJS与前后端分离 1 2.2. 微信Web 1 2.3. React
Atitit 信息安全体系 资料书籍表 1. 《信息安全原理与技术 2 1.1. 第2章 工具箱: 鉴别、 访问控制与加密 2 1.2. 第3章 程序和编程 漏洞 木马 病毒 3 1.3. We
Atititi 软件界面gui开发之道 attilax著 1. 概览 2 1.1. 编程语言的发展 asm>native>vm>script>dsl 2 1.2. Ui的细化html ,css ,
出错时弹出提示对话框
热门文章
ASP.Net 向xml文件中添加数据(insert操作)
如何利用asp.net控件实现这个功能?
系统分析师(4)系统分析师考试大纲
JavaScript总结(3)javascript中应用正则表达式
系统分析师(2)20012004年上午试题知识点分布
系统分析师(3)系统分析师书籍推荐
专家门诊——ASP.NET开发答疑200问
JavaScript实现图片移动
免费得QQ秀
Asp.Net 判断储存在xml文件中的用户名合法性(登陆操作)
Copyright © 2011-2022 走看看