3

ページを印刷して自動的に閉じるにはどうすればよいですか?

ボタンをクリックして新しいウィンドウ/ページを開きます。

protected void ASPxButton_GenerOrd_Click(object sender, EventArgs e)
{
         string AdrUrl = "Print_Ordo.aspx?SoinId=" + Soin_Id + "&SelId=" + TempId;
        ClientScript.RegisterStartupScript(this.GetType(), "newWindow", String.Format("<script>window.open('{0}');</script>", AdrUrl));
    }

私の Print_Ordo.aspx :

<head runat="server">
    <title></title>
     <script>         window.print(); window.close();</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dx:ReportViewer ID="ReportViewer_Ordo" runat="server">
        </dx:ReportViewer>
    </div>
    </form>
</body>
</html>

と私の Print_Ordo.aspx.cs:

public partial class Print_Ordo : System.Web.UI.Page
{

    string Soin_ID = "", SelectedID = ""; 
    protected void Page_Load(object sender, EventArgs e)
    {
        Soin_ID = Request.QueryString["SoinId"];
        SelectedID = Request.QueryString["SelId"];
        //ReportViewer_Ordo.Report = new XtraReport_Ordo(Convert.ToInt32(Soin_ID), SelectedID);
        //ReportViewer_Ordo.PageByPage = false;

        var xtraReport_Pricipal = new XtraReport_Ordo(Convert.ToInt32(Soin_ID), SelectedID);

        using (MemoryStream ms = new MemoryStream())
        {
            try
            {
                PdfExportOptions opts = new PdfExportOptions();
                opts.ShowPrintDialogOnOpen = true;
                xtraReport_Pricipal.ExportToPdf(ms, opts);
                ms.Seek(0, SeekOrigin.Begin);
                byte[] report = ms.ToArray();
                Page.Response.ContentType = "application/pdf";
                Page.Response.Clear();
                Page.Response.OutputStream.Write(report, 0, report.Length);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            finally
            {
                ms.Close();
            }
        }


    }
}

問題は、それが自動的に閉じないことです。私は試しました:

self.close();
window.close();
top.close();

これはどれも機能しません。何か案は?

PS:Firebug経由で見ると:

<embed width="100%" height="100%" name="plugin" src="http://172.18.1.253:4001/source/Print_Ordo.aspx?SoinId=4&amp;SelId=9" type="application/pdf">

このプロセス プラグインが原因で、このウィンドウを閉じることができません。

4

1 に答える 1

2

Focusこれで試すことができます-閉じる前にウィンドウに追加

<script type="text/javascript">
    window.print();
    window.onfocus = function() { window.close(); }
</script>
于 2012-09-18T13:50:29.773 に答える