2012-11-07 37 views
0

我有這樣的文字下面顯示我的動態表asp.net如何打印動態表

<div id="Print">  
    <asp:Literal ID="Literal1" runat="server"></asp:Literal> 
</div> 

和我放置的ImageButton打印

<asp:ImageButton ID="ImageButton5" runat="server" 
ImageUrl="~/Image/Print_Icon_Design.jpg" Height="25px" 
Width="27px" style="margin-left:20px" OnClientClick="CallPrint"/> 

和我有下面的代碼打印,但它不起作用,你可以請幫忙

<script language="javascript" type="text/javascript"> 
    function CallPrint(Print) { 
     var prtContent = document.getElementById(Print); 
     var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0'); 
     WinPrint.document.write(prtContent.innerHTML); 
     WinPrint.document.close(); 
     WinPrint.focus(); 
     WinPrint.print(); 
</script> 
+0

letf = 0?或左= 0? –

+0

我改正了,但它仍然不起作用 –

+0

嘗試在圖像按鈕中添加參數:OnClientClick =「CallPrint('somevalue')」,因爲你的js函數有一個參數。 –

回答

0

跳過參數打印功能,並添加更改getEleme ntById

var prtContent = document.getElementById('Print'); 
0

你需要把Print引號內,你的功能缺失最終花括號。 此外,您不需要打印參數(因爲你不從的ImageButton通過它,你正在使用的getElementById()已取回:

function CallPrint() { 
      var prtContent = document.getElementById("Print"); 
      var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0'); 
      WinPrint.document.write(prtContent.innerHTML); 
      WinPrint.document.close(); 
      WinPrint.focus(); 
      WinPrint.print(); 
} 
+0

我更正了括號但它仍然沒有任何想法 –

+0

代碼是好的,它應該工作。在JavaScript控制檯中是否有任何錯誤?你能顯示完整的HTML輸出嗎? –

0

試試這個

<script language="javascript" type="text/javascript"> 

function CallPrint() { 
       var prtContent = document.getElementById('Print'); 
       var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0'); 
       WinPrint.document.open(); 
       WinPrint.document.write(prtContent.innerHTML); 
       WinPrint.document.close(); 
       WinPrint.focus(); 
       WinPrint.print(); 
       return false; 
} 
</script> 

<asp:ImageButton ID="ImageButton5" runat="server" 
         ImageUrl="~/Image/Print_Icon_Design.jpg" Height="25px" 
      Width="27px" style="margin-left:20px" OnClientClick="return CallPrint()"/> 

返回FALSE來的OnClientClick將阻止回發

0

prtContent.innerHTML將爲空,因爲您正在使用Print而不是'Print'

 function CallPrint() { 
     var prtContent = document.getElementById('Print'); 
     var htmlcontent = prtContent.innerHTML; 
     var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0'); 
     WinPrint.document.write(htmlcontent); 
     WinPrint.document.close(); 
     WinPrint.focus(); 
     WinPrint.print(); 
    } 
+0

現在它正在工作,但我有另一個問題,問題是一個文字表明我的動態表,但打印輸出只是與我不能得到我的表設計的數字。可以請你幫忙 –

+0

你可以請張貼一些更多的代碼?嘗試還有outerHTML – paritosh