国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET網頁打印(只打印相關內容/自寫功能)

2024-07-10 13:18:07
字體:
來源:轉載
供稿:網友

昨晚朋友要求在前段時間完成的新聞的網站上加上一個功能,就是在每篇新聞瀏覽的頁面, 加一個打印銨鈕。讓用戶一點打印,能把整篇文章打印。一開始建議朋友,叫用戶使用IE瀏覽器的打印功能,但是朋友說,那個打印功能是把頁面的不相關的內容也打印了,用戶只想打印整篇文章即可。

既然要改,照做就是了。沒有這方面經驗,在網上找到很多相關的ASP.NET打印例子,要么太過復雜,要么效果不太理想。最后還是結合這諸多的例子,改寫一個合適的功能。

下面是改寫的地方,首先在文章瀏覽的.aspx頁面,添加一個Div,并加上runat="server" ,讓其包含整篇文章,如:

復制代碼 代碼如下:


<div runat="server">
ASP.NET網頁打印測試<br />
內容內容內容內容內容內容內容內容內容內容內容內容內容<br />
內容內容內容內容內容內容內容內容內容內容內容內容內容<br />
內容內容內容內容內容內容內容內容內容內容內容內容內容<br />
內容內容內容內容內容內容內容內容內容內容內容內容內容<br />
內容內容內容內容內容內容內容內容內容內容內容內容內容<br />
內容內容內容內容內容內容內容內容內容內容內容內容內容<br />
內容內容內容內容內容內容內容<br />
</div>


然后,添加一個打印銨鈕:

復制代碼 代碼如下:


<asp:Button runat="server" Text="打印" OnClientClick="return PrintArticle();" />


看到否,上面的打印銨鈕需要執行一段Javascript代碼,也是重點部分。Insus.NET寫在下面,這段Javascript放置在.aspx頁最未端部分,也就是讓網頁最后執行。

復制代碼 代碼如下:


function PrintArticle() {
var pc = document.getElementById("<%=PrintContent.ClientID%>");
var pw = window.open('', '', 'width=500,height=400');
pw.document.write('<html>');
pw.document.write('<head>');
pw.document.write('<title>ASP.NET網頁打印測試</title>');
pw.document.write('</head>');
pw.document.write('<body>');
pw.document.write(pc.innerHTML);
pw.document.write('</body>');
pw.document.write('</html>');
pw.document.close();
setTimeout(function () {
pw.print();
}, 500);
return false;
}


最后來一個動畫演示:

ASP.NET網頁打印(只打印相關內容/自寫功能)

 

打印輸出結果:

ASP.NET網頁打印(只打印相關內容/自寫功能)

還可以,但有一點不理想,就是頁頭頁尾有一行信息,即是Highlight的部分,能否取消它,答案是肯定的,參考下面設置方法設置。

ASP.NET網頁打印(只打印相關內容/自寫功能)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海门市| 呼伦贝尔市| 宁晋县| 项城市| 和政县| 新昌县| 香港| 同德县| 库尔勒市| 额尔古纳市| 龙泉市| 瓦房店市| 玉屏| 万全县| 梨树县| 清徐县| 泸州市| 金乡县| 汶上县| 天峨县| 垫江县| 伽师县| 和平县| 呼图壁县| 屯留县| 保康县| 柏乡县| 广河县| 麻城市| 浦江县| 中宁县| 安新县| 财经| 东方市| 沧州市| 通许县| 井研县| 高要市| 喀喇| 区。| 渝中区|