2011-12-05 10 views
0

データを表示せずにレポートを印刷することができます。私のマスターページでデータを表示せずにレポートを印刷

iはインラインフレーム置く:

<script type="text/javascript"> 
    // Submit Button 
    function OnSumbitButtonClick(s, e) { 
     // e.processOnServer = false; 
     var Temp = <%= TempId %> //Get value from Server 
     //alert(Temp +'--'+ ASPxTextBox_NBR_COLIS.GetValue()); 
     document.getElementById('reportout').contentWindow.location = '../Print/BonEticket_Web.aspx?OdreID=' + Temp + '&CountOrdre=' +ASPxTextBox_NBR_COLIS.GetValue(); 
    } 
    </script> 

    <dx:ASPxButton ID="ASPxButton_save" runat="server" Image-Url="~/images/Icon/Good-or-Tick-icon.png" Text="Enregistrer" Width="110px" onclick="ASPxButton_save_Click"> 
           <ClientSideEvents Click ="OnSumbitButtonClick" />     
               </dx:ASPxButton> 

とにおけるメートルのFord.aspx.cs:

protected void ASPxButton_save_Click(object sender, EventArgs e) 
    { 
     try 
     { 

      //Get new inserted ID from Database --> my SQL id is autoincrement 
      TempId = oOrdre_BL.SaveUpdt_Ordre_BL(oPersOrdr, OrdreID); 
      // Response.Redirect("../Print/BonEticket_Web.aspx?OdreID=" + TempId + "&CountOrdre=" + ASPxTextBox_NBR_COLIS.Text); 
     } 
     catch (Exception ex) 
     { 
      lbl_err.Text = ex.Message; 
      if (ex.InnerException != null) { lbl_err.Text += "-->" +ex.InnerException.Message; } 
     } 

<iframe id="reportout" width="0" height="0" /> 
    </form> 

を、私のFord.aspxで問題はここで私は私のjavascriptを有効にするとき:e.processOnServer = false;それは動作しますが、私はSeから計算されたデータが必要なので、私はそれを行うことはできませんrver var Temp = <%= TempId %>

お手伝いをしてくれてありがとう。

答えて

1

Internet Explorerには、bebeforeprintとonafterprintの2つのイベントがあり、彼らの言うことを行います。
ここに小さなチュートリアルがあります:http://www.javascriptkit.com/javatutors/ie5print.shtml
しかし、あなたが誰でもIEを使用しているエンタープライズ環境の外にいる場合は、創造的にする必要があります。

考えられるアイデアは、印刷するテキストをポップアップウィンドウに表示して、それ自身を印刷して閉じることです。

+0

もう一度aspxページにリダイレクトして印刷し、Response.AppendHeader( "REFRESH"、 "4; URL = ../Ordres.aspx")を使用してください。自動リダイレクトの場合はもう一度....しかし、1つの選択肢の作業(リダイレクトせずに) – user609511

関連する問題