十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关asp.net中一实现按需打印,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
在贾汪等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站建设 网站设计制作定制网站设计,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,成都外贸网站建设公司,贾汪网站建设费用合理。过程很简单:
首先在asp.net页面中设定开始打印和结束打印的标记,为了确保该标记不在网页浏览时显示,我们采用""的方式。比如:和。
接着写相关的JavaScript代码,具体代码见后。
如果不想打印按钮也被打印出来,注意将打印按钮包含在和之外。
相关代码:
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AppealPrint.aspx.cs" Inherits="Appeal.AppealPrint"
MasterPageFile="MasterPage.master" Title="诉求打印" %>
诉 求 信 息
诉求主题:
诉求类型:
诉求当前状态:
诉求性质:
被投诉人姓名:
被投诉人地址:
投诉人:
诉求信息是否保密:
管理员是否同意公开:
浏览数:
回复数:
归档:
诉求提交时间:
诉求所在地域:
诉求内容:
";
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);
}
}
}
}
-->
观察上面代码可以看出,打印时,window.document.body.innerHTML 被重新赋值成设定需要打印的网页部分的代码(这里是 prnhtml),然后通过递归方式调用setChildNodesByCurrentNode(artibody,size)更改相关子节点的样式,以达到全部更换相关字体大小及样式设置的目的。
关于“asp.net中一实现按需打印”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。