我在asp.net 2.0的頁面中有一個標籤控件,並且有一個按鈕打印。如何在asp.net中打印標籤或面板的內容?
點擊打印按鈕我需要打印標籤的內容,我也需要相同的面板。
是否可以實現這一點?
如果是的話那麼該如何實現呢?
請幫忙。
我在asp.net 2.0的頁面中有一個標籤控件,並且有一個按鈕打印。如何在asp.net中打印標籤或面板的內容?
點擊打印按鈕我需要打印標籤的內容,我也需要相同的面板。
是否可以實現這一點?
如果是的話那麼該如何實現呢?
請幫忙。
您需要添加一些客戶端JavaScript到您的打印按鈕來執行瀏覽器的打印命令。下面的javascript可以用來打印整個文檔頁面,並且將是一個很好的開始。注意:除非使用第三方組件,否則不可能在不顯示打印對話框的情況下執行此操作。
// Print Page
window.print();
如果您只想打印頁面的某些部分,您可以實現這兩種方式。首先,您可以將內容打印到隱藏的iframe中,然後僅打印該幀。你只能在框架內使用與上述相同的代碼。其次,您可以使用媒體樣式打印樣式表,這是一種僅在打印時適用的CSS。在此表格內,您可以將想要打印的樣式設置爲正常,並將不想打印的樣式設置爲「顯示:無」。以下鏈接包含有關打印樣式表的更多信息。
http://www.webcredible.co.uk/user-friendly-resources/css/print-stylesheet.shtml
什麼Window.Print()方法?因爲execcommand方法不會在其他瀏覽器中使用IE。使用CSS媒體選項來控制打印區域。
還有一種方法可以打開新窗口並填充要打印的div的內容並在該頁面上打印鏈接/按鈕。 例如:
var win = window.open(...) win.document.body.appendChild(document.getElementById('divToPrintId'))
這是代碼將如何看起來像這種方法用於打印頁面的內容/一部分。
下面的代碼可以使用按鈕onclick事件
ClientScript.RegisterStartupScript(this.GetType(), "PrintOperation", "PrintGridData()", true);
上面的鏈接會調用一個名爲PrintGridData(功能),這是寫在頭部分如下
<script type="text/javascript">
function PrintGridData()
{
var prtGrid = document.getElementById('<%=GridView.ClientID %>');
prtGrid.border = 0;
var prtwin = window.open('', 'PrintGridViewData', 'left=100,top=100,width=1000,height=1000,tollbar=0,scrollbars=1, status=0,resizable=1');
prtwin.document.write(prtGrid.outerHTML);
prtwin.document.close();
prtwin.focus();
prtwin.print();
prtwin.close();
}
</script>
在這個腳本也只會打印DIV名稱GridView
等部分不會打印