手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net中的“按需打印”(打印你需要打印的部分) 实现代码
asp.net中的“按需打印”(打印你需要打印的部分) 实现代码
摘要:过程很简单:首先在asp.net页面中设定开始打印和结束打印的标记,为了确保该标记不在网页浏览时显示,我们采用""的方式。比如:和。接着写相...

过程很简单:

首先在asp.net页面中设定开始打印和结束打印的标记,为了确保该标记不在网页浏览时显示,我们采用"<>"的方式。比如:<>和<>。

接着写相关的JavaScript代码,具体代码见后。

如果不想打印按钮也被打印出来,注意将打印按钮包含在<>和<>之外。

相关代码:

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AppealPrint.aspx.cs" Inherits="Appeal.AppealPrint"

MasterPageFile="MasterPage.master" Title="诉求打印" %>

<asp:Content ID="Content1" ContentPlaceHolderID="CphNavigation" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="CphContent" runat="server">

<>

<style type="text/css">

body,table{

font-size:12px;

}

table{

table-layout:fixed;

empty-cells:show;

border-collapse: collapse;

margin:0 auto;

}

td{

height:20px;

}

h1,h2,h3{

font-size:12px;

margin:0;

padding:0;

}

table{

border:1px solid #cad9ea;

color:#666;

}

table th{

height:30px;

}

table td,table th{

border:1px solid #cad9ea;

padding:0 1em 0;

}

table tr{

background-color:#f5fafe;

}

</style>

<table cellspacing="0" cellpadding="2" id="TabBtnPrint">

<tbody>

<tr align="center">

<td><strong>诉 求 信 息</strong></td>

</tr>

<tr>

<td>

<table cellspacing="1" cellpadding="2">

<tbody>

<tr>

<td width="30%" align="right" nowrap="nowrap">诉求主题:</td>

<td colspan="3">

<asp:Label ID="lblEditTitle" runat="server" Text="Label"></asp:Label>

</td>

</tr>

<tr>

<td align="right" width="30%" nowrap="nowrap">诉求类型:</td>

<td colspan="3">

<asp:Label ID="lblAppealCategory" runat="server" Text=""/>

</td>

</tr>

<tr>

<td align="right" width="30%" nowrap="nowrap">诉求当前状态:</td>

<td colspan="3">

<asp:Label ID="LblStatus" runat="server" Text="Label"/>

</td>

</tr>

<tr>

<td align="right" nowrap="nowrap">诉求性质:</td>

<td><asp:Label ID="lblAppealNature" runat="server" Text="Label"/></td>

<td align="right" nowrap="nowrap">被投诉人姓名:</td>

<td><asp:Label ID="lblBeAppealName" runat="server" Text="Label"/></td>

</tr>

<tr>

<td align="right" nowrap="nowrap">被投诉人地址:</td>

<td><asp:Label ID="lblBeAppealAddress" runat="server" Text="Label"/></td>

<td align="right" nowrap="nowrap">投诉人:</td>

<td><asp:Label ID="lblUserName" runat="server" Text="Label"/></td>

</tr>

<tr>

<td align="right" nowrap="nowrap">诉求信息是否保密:</td>

<td><asp:Label ID="lblIsSecret" runat="server" Text="Label"/></td>

<td align="right" nowrap="nowrap">管理员是否同意公开:</td>

<td align="right"><asp:Label ID="lblAdminIsPublic" runat="server" Text="Label"/></td>

</tr>

<tr>

<td align="right" nowrap="nowrap">浏览数:</td>

<td><asp:Label ID="lblHits" runat="server" Text="Label"/></td>

<td align="right" nowrap="nowrap">回复数:</td>

<td><asp:Label ID="lblReply" runat="server" Text="Label"/></td>

</tr>

<tr>

<td align="right" nowrap="nowrap">归档:</td>

<td><asp:Label ID="lblCategory" runat="server" Text=""/></td>

<td align="right" nowrap="nowrap">诉求提交时间:</td>

<td><asp:Label ID="lblCreateTime" runat="server" Text="Label"/></td>

</tr>

<tr>

<td align="right" nowrap="nowrap">诉求所在地域:</td>

<td colspan="3"><asp:Label ID="lblRegion" runat="server" Text=""></asp:Label></td>

</tr>

<tr>

<td colspan="4"><asp:Label ID="Label2" runat="server" Text=""/></td>

</tr>

<tr>

<td colspan="4" align="left" valign="top" nowrap="nowrap">诉求内容:</td>

</tr>

<tr>

<td colspan="4" align="left" valign="top">

<pe:ExtendedLiteral ID="LtrEditContent" runat="server" HtmlEncode="false"/>

</td>

</tr>

</tbody>

</table>

</td>

</tr>

</tbody>

</table>

<>

<br />

<div id="divBtnPrint">

<input id="BtnPrint" type="button" value="打 印…" />

</div>

<br />

<script type="text/javascript">

<!--

function doPrint(){

bdhtml = window.document.body.innerHTML;

sprnstr = "<>";

eprnstr = "<>";

prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);

prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));

window.document.body.innerHTML = prnhtml;

var obj = window.document.body;

doZoom(obj, 18); //放大打印

window.print();

}

function doZoom(artibody, size) {

if (!artibody)

{

return;

}

setChildNodesByCurrentNode(artibody,size);

}

function setChildNodesByCurrentNode(node,size) {

for(var i=0; i < node.childNodes.length; i++) {

var artibodyChild = node.childNodes[i];

if (artibodyChild.nodeType == 1) {

artibodyChild.className="";

artibodyChild.style.fontSize = size + 'px';

artibodyChild.style.fontFamily = '仿宋_GB2312,宋体,"Times New Roman",Georgia,serif';

artibodyChild.style.fontWeight = 900;

if(artibodyChild.childNodes.length>0) {

setChildNodesByCurrentNode(artibodyChild,size);

}

}

}

}

-->

</script>

</asp:Content>

观察上面代码可以看出,打印时,window.document.body.innerHTML 被重新赋值成设定需要打印的网页部分的代码(这里是 prnhtml),然后通过递归方式调用setChildNodesByCurrentNode(artibody,size)更改相关子节点的样式,以达到全部更换相关字体大小及样式设置的目的。

【asp.net中的“按需打印”(打印你需要打印的部分) 实现代码】相关文章:

asp.net下经典数据库记录分页代码

asp.net DZ论坛中根据IP地址取得所在地的代码

asp.net 操作excel的实现代码

Asp.net中的页面乱码的问题

.NET 扩展实现代码

asp.net cookie清除的代码

Asp.Net URL重写的具体实现

asp.net 生成曲线图实现代码

.NET 日志系统设计思路及实现代码

.net 通过URL推送POST数据具体实现

精品推荐
分类导航