做过很多的Web项目,大多数在打印页面内容的时候,采用的都是通过Javascript调用系统内置的打印方法进行打印,也就是调用 PrintControl.ExecWB(?,?)实现直接打印和打印预览功能。 ASP.NET 打印控件是Web开发中用于处理打印任务的一种技术,特别是在.NET框架下,它允许开发者创建用户友好的打印体验。本文将详细介绍如何在ASP.NET中使用打印控件,以及通过JavaScript调用系统内置的打印方法。 我们要明白,ASP.NET本身并不直接提供打印控件,但可以通过ActiveX或JavaScript来实现打印功能。在描述中提到的方法就是通过JavaScript调用浏览器的打印API,例如`PrintControl.ExecWB()`函数,这个函数属于ActiveXObject,用于执行Windows的Web浏览器控件中的命令。 在提供的代码片段中,可以看到两个主要的JavaScript函数:`printPage()` 和 `printConten()`。这两个函数的主要目的是隐藏页面中不希望在打印时显示的部分,并且根据参数`preview`决定是否开启打印预览。 1. `printPage()` 函数: - 获取当前页面`body`的内容并保存为`oricontent`,以便后续恢复。 - 接着,替换页面中特定的占位符(如`{$printhide}`)为CSS样式`display:none`,以隐藏不想打印的元素。 - 如果页面中没有`PrintControl`对象,则添加一个ActiveXObject,这个对象是调用打印功能的关键。 - 根据`preview`参数,调用`PrintControl.ExecWB()`执行打印预览或直接打印。参数`OLECMDID_PRINT=7`表示打印,`OLECMDEXECOPT_DONTPROMPTUSER=6`表示不提示用户直接打印。 2. `printConten()` 函数: - 这个函数与`printPage()`类似,但它接受额外的`html`参数,允许直接指定要打印的HTML内容。 - 在调用`PrintControl.ExecWB()`之前,它会将`html`内容替换到页面`body`中,这样可以打印自定义的HTML内容,而不仅仅是当前页面的内容。 在实际使用中,你可以通过在页面中引入包含这两个函数的JavaScript文件,然后调用`Print()`或其他自定义的函数来启动打印流程。例如,`Print(preview)`可以根据需要传入`preview`参数,决定是否预览。 尽管这种方法相对简单,但存在一些限制,例如依赖于用户的浏览器设置、可能不支持所有浏览器,以及对页面样式的控制有限。为了获得更高级的打印功能,开发者可能会考虑使用专门的打印控件库,如DevExpress、Telerik等,这些库提供了丰富的API和更好的跨浏览器兼容性。 总结来说,ASP.NET中使用JavaScript和ActiveX控件进行打印是一种常见但并不完美的解决方案。它适合简单的打印需求,但对于复杂的应用场景,可能需要更专业的打印控件或者利用服务器端的打印服务来实现更精确的控制。



















- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- JSPJSP房产中介系统设计方案与实现.doc
- 计算机网络教学模式改革方案.doc
- 企业现代计算机信息化管理中网络技术的应用探究.docx
- 计算机视觉技术中的三维测量与建模课程官方课件
- 电力系统电气工程自动化的智能化运用.docx
- Python语言输出10个文本文件562进制随机5首诗句程序代码.txt
- WindowsPE急救系统安装步骤.doc
- 网络工程设计项目管理.ppt
- Python语言输出10个文本文件481进制正面词语诗诀代码.txt
- 计算机网络(AndrewSTanenbaum)复习.doc
- C#程序设计第章循环结构程序设计.doc
- 无线网络中的数字监控系统技术方案-公共场所其他.docx
- 污水处理过程PLC模糊控制器方案设计书与应用1.doc
- 工科Java期末考试阅读程序题题库.doc
- PLC控制的全自动洗衣机课程方案设计书程序及调试图.doc
- 项目管理在电力信息化建设中的应用.docx


