asp.net中的“按需打印”(打印你需要打印的部分) 实现代码

前端技术 2023/09/08 .NET

过程很简单:

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

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

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

相关代码:

复制代码 代码如下:

<%@ 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\">
<!--startprint-->
<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 class=\"border\" cellspacing=\"0\" cellpadding=\"2\" style=\"margin: 0px auto; width: 98%;border:1px solid;border-collapse:collapse;\" id=\"TabBtnPrint\">
    <tbody>
        <tr align=\"center\">
            <td class=\"title\"><strong>诉 求 信 息</strong></td>
        </tr>
        <tr>
            <td style=\"height: 25px\">
            <table cellspacing=\"1\" cellpadding=\"2\" style=\"margin: 0px auto; width: 100%;border-collapse:collapse;\">
                <tbody>
                    <tr class=\"tdbg\">
                         <td width=\"30%\" align=\"right\" nowrap=\"nowrap\">诉求主题:</td>
                         <td colspan=\"3\">
                             <asp:Label ID=\"lblEditTitle\" runat=\"server\" Text=\"Label\"></asp:Label>
                         </td>
                    </tr>
                    <tr class=\"tdbg\">
                        <td align=\"right\" width=\"30%\" nowrap=\"nowrap\">诉求类型:</td>
                        <td  colspan=\"3\">
                              <asp:Label ID=\"lblAppealCategory\" runat=\"server\" Text=\"\"/>
                        </td>
                    </tr>
                    <tr class=\"tdbg\">
                        <td align=\"right\" width=\"30%\" nowrap=\"nowrap\">诉求当前状态:</td>
                        <td colspan=\"3\">
                              <asp:Label ID=\"LblStatus\" runat=\"server\" Text=\"Label\"/>
                        </td>
                    </tr>
                    <tr class=\"tdbg\">
                        <td align=\"right\" style=\"width: 30%\" nowrap=\"nowrap\">诉求性质:</td>
                        <td style=\"width: 15%\"><asp:Label ID=\"lblAppealNature\" runat=\"server\" Text=\"Label\"/></td>
                        <td align=\"right\" style=\"width: 25%\" nowrap=\"nowrap\">被投诉人姓名:</td>
                        <td style=\"width: 30%\"><asp:Label ID=\"lblBeAppealName\" runat=\"server\" Text=\"Label\"/></td>
                    </tr>


                    <tr class=\"tdbg\">
                        <td align=\"right\" style=\"width: 30%\" nowrap=\"nowrap\">被投诉人地址:</td>
                        <td style=\"width: 15%\"><asp:Label ID=\"lblBeAppealAddress\" runat=\"server\" Text=\"Label\"/></td>
                        <td align=\"right\" style=\"width: 25%\" nowrap=\"nowrap\">投诉人:</td>
                        <td style=\"width: 30%\"><asp:Label ID=\"lblUserName\" runat=\"server\" Text=\"Label\"/></td>
                    </tr>


                    <tr class=\"tdbg\">
                        <td align=\"right\" style=\"width: 30%\" nowrap=\"nowrap\">诉求信息是否保密:</td>
                        <td style=\"width: 15%\"><asp:Label ID=\"lblIsSecret\" runat=\"server\" Text=\"Label\"/></td>
                        <td align=\"right\" style=\"width: 25%\" nowrap=\"nowrap\">管理员是否同意公开:</td>
                        <td style=\"width: 30%\" align=\"right\"><asp:Label ID=\"lblAdminIsPublic\" runat=\"server\" Text=\"Label\"/></td>
                    </tr>


                    <tr class=\"tdbg\">
                        <td align=\"right\" style=\"width: 30%\" nowrap=\"nowrap\">浏览数:</td>
                        <td style=\"width: 15%\"><asp:Label ID=\"lblHits\" runat=\"server\" Text=\"Label\"/></td>
                        <td align=\"right\" style=\"width: 25%\" nowrap=\"nowrap\">回复数:</td>
                        <td style=\"width: 30%\"><asp:Label ID=\"lblReply\" runat=\"server\" Text=\"Label\"/></td>
                    </tr> 

                    <tr class=\"tdbg\">
                        <td align=\"right\" style=\"width: 30%\" nowrap=\"nowrap\">归档:</td>
                        <td style=\"width: 15%\"><asp:Label ID=\"lblCategory\" runat=\"server\" Text=\"\"/></td>
                        <td align=\"right\" style=\"width: 25%\" nowrap=\"nowrap\">诉求提交时间:</td>
                        <td style=\"width: 30%\"><asp:Label ID=\"lblCreateTime\" runat=\"server\" Text=\"Label\"/></td>
                    </tr>


                    <tr class=\"tdbg\">
                        <td align=\"right\" style=\"width: 30%\" nowrap=\"nowrap\">诉求所在地域:</td>
                        <td colspan=\"3\"><asp:Label ID=\"lblRegion\" runat=\"server\" Text=\"\"></asp:Label></td>
                    </tr>
                    <tr class=\"tdbg\">
                        <td colspan=\"4\"><asp:Label ID=\"Label2\" runat=\"server\" Text=\"\"/></td>
                    </tr>
                    <tr class=\"tdbg\">
                        <td colspan=\"4\" align=\"left\" valign=\"top\" nowrap=\"nowrap\">诉求内容:</td>
                    </tr>
                    <tr class=\"tdbg\">
                        <td colspan=\"4\" align=\"left\" valign=\"top\">
                            <pe:ExtendedLiteral ID=\"LtrEditContent\" runat=\"server\" HtmlEncode=\"false\"/>
                        </td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<!--endprint-->
   <br />
    <div id=\"divBtnPrint\" style=\"text-align:center\">
        <input id=\"BtnPrint\" type=\"button\" value=\"打 印…\" onclick=\"doPrint();\" />
    </div>
    <br />
 <script type=\"text/javascript\">

<!--

     function doPrint(){
        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;
        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>

本文地址:https://www.stayed.cn/item/22792

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。