ASP.NET开发之页面局部打印

来源:互联网 发布:80端口和8080端口区别 编辑:程序博客网 时间:2024/06/04 23:09

1.前台javascript

 <script language="javascript" type="text/javascript">
              function printdiv() {
                  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();
                  window.document.body.innerHTML = bdhtml;
                  closeWindow();
              }
              function closeWindow() {
                  setTimeout("window.opener=null;window.open('','_self');window.close();", 2000); //打印后延时2秒后跳转
              }

</script>


2.用

<!--startprint-->//在前台标记开始打印节点

<!--endprint-->//结束打印节点


3.后台调用代码

this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script>printdiv();window.close();</script>", false);//有ScriptManager控件