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
>
查看全文
相关阅读:
terminator shortcut
支付宝集成错误
null与DBNULL
linode接连出问题,我也没看懂英文
ruby 日期 好函数
ruby datetime
act as tree插件
ruby 时间
ruby规则引擎
on ,type等关键词,使用
原文地址:https://www.cnblogs.com/a311300/p/1280411.html
最新文章
Ubuntu上MySQL的简单自动备份
IIS6的Web Garden
rails reverse words you can't use them in as your column or tablename
share
支付宝银行简码
ubuntu下安装php环境
实用主义
xavier / actsastreewithdottedids
mysql rand(x)生产重复随机序列
rails online api
热门文章
jquery数组
cod cash on delivery
linode 设置
use regular expression check whether a string is a number
ubuntu下安装php环境
jquery lazy load
ruby服务器端解析json字符串
py 中类的使用
jquery属性选择
share
Copyright © 2011-2022 走看看