Asp.net 2.0 IE直接列印 — 本案例只列印被列印 中的內容

來源:互聯網
上載者:User

 

        由於項目需要,要作列印,而且並不是網頁上的現實內容都要列印出來,只列印部分內容。
下面貼出實現代碼供大家分享。本案例只列印<!--startprint-->被列印 <!--endprint-->中的內容。

頁面代碼:Print.aspx

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>IE直接列印</title>

    <script type="text/javascript" language="javascript">
   function preview()
   {
   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();
   }
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <center>
                本部分以上不被列印
                <!--startprint-->
                <div>
                    <asp:GridView ID="GridView1" runat="server">
                    </asp:GridView>
                </div>
                <!--endprint-->
                本部分以下不被列印
                <div>
                    <input type="button" name="print" value="預覽並列印" onclick="preview()" />
                </div>
            </center>
        </div>
    </form>
</body>
</html>

.cs頁面代碼:

protected void Page_Load(object sender, EventArgs e)
    {
        this.GridView1.DataSource = CreateTable();
        this.GridView1.DataBind();
    }

    /// <summary>
    /// 建立DataTable
    /// </summary>
    /// <returns></returns>
    private DataTable CreateTable()
    {
        //定義表
        DataTable tb = new DataTable("newTB");
        DataColumn column;
        DataRow row;

        //建立id列
        column = new DataColumn();
        column.DataType = System.Type.GetType("System.Int32");
        column.ColumnName = "id";
        column.ReadOnly = true;
        column.Unique = true;
        //將id列添加到表
        tb.Columns.Add(column);

        //建立ParentItem列
        column = new DataColumn();
        column.DataType = System.Type.GetType("System.String");
        column.ColumnName = "ParentItem";
        column.AutoIncrement = false;
        column.Caption = "ParentItem";
        column.ReadOnly = false;
        column.Unique = false;
        //將ParentItem列添加到表
        tb.Columns.Add(column);

        //填充資料
        for (int i = 0; i <= 2; i++)
        {
            row = tb.NewRow();
            row["id"] = i;
            row["ParentItem"] = "ParentItem " + i;
            tb.Rows.Add(row);
        }
        //返回Table
        return tb;
    }

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.