如何在ASP.NET中打印页面的部分

7

我有一个包含div的模态弹出框。我有一个按钮让用户打印该div的内容。window.print会打印整个页面,如何只打印div的内容。

谢谢。


如何打印网页的某个特定区块? - walther
3个回答

8
使用此脚本。
<script language="javascript" type="text/javascript">
    function CallPrint(strid) {
        var prtContent = document.getElementById(strid);
        var WinPrint = window.open('', '', 'letf=0,top=0,width=800,height=100,toolbar=0,scrollbars=0,status=0,dir=ltr');
        WinPrint.document.write(prtContent.innerHTML);
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
        WinPrint.close();
        prtContent.innerHTML = strOldOne;
    }
</script>

并从按钮中调用

 <asp:button id="BtnPrint" runat="server" onclientclick="javascript:CallPrint('bill');" text="Print" xmlns:asp="#unknown" />

你的 div 也应该有一个名字(bill)


它能在Asp.net Web表单中与<div runat="server">一起使用吗? - Dylan Czenski
@DylanChensky 要么在 div 中使用 ClientIDMode="Static",要么在 javascript 调用中使用 <%= bill.ClientID %>。 - Diomedes

5
This code may help you.
HTML 代码:
 <div id="printarea">

    //content you want to print
    </div>

    <input id="btnprint" type="button" onclick="PrintDiv()" value="Print" /></center>

这是JavaScript

 <script type="text/javascript">

            function PrintDiv() {
                var divToPrint = document.getElementById('printarea');
                var popupWin = window.open('', '_blank', 'width=300,height=400,location=no,left=200px');
                popupWin.document.open();
                popupWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</html>');
                popupWin.document.close();
            }
         </script>

2

试试这个:

function printdiv(printpage)
{
  var headstr = "<html><head><title></title></head><body>";
  var footstr = "</body>";
  var newstr = document.all.item(printpage).innerHTML;
  var oldstr = document.body.innerHTML;
  document.body.innerHTML = headstr+newstr+footstr;
  window.print();
  document.body.innerHTML = oldstr;
  return false;
}

printpage参数是你的div id。

来源:Microsoft论坛:http://forums.asp.net/t/1261525.aspx/1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接