Javascript Print方法适用于jsfiddle,但不适用于asp.net

时间:2015-09-21 10:03:11

标签: javascript asp.net internet-explorer visual-studio-2013

我正在尝试使用IE-11在我的asp.net页面中运行以下功能:

  function openWin()
  {
    var myWindow=window.open('','','width=200,height=100');
    myWindow.document.write("<p>This is 'myWindow'</p>");

    myWindow.document.close();
    myWindow.focus();
    print(myWindow);
    myWindow.close();

  }

使用Internet Explorer在jsfiddle上运行良好。 但是,当我在Internet Explorer中运行我的asp.net Web应用程序时,此功能会导致Internet Explorer停止工作并关闭所有窗口。

这是我的aspx页面来源:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PrintBarcode.aspx.cs" Inherits="Application.Barcode.PrintBarcode" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .titlelabel {
            font-size: large;
            font-weight: bold;
        }

        html {
            background-color: rgb(244,244,244);
            margin: 0;
            padding: 0;
        }
    </style>
    <script type="text/javascript">

        function openWin() {

            var myWindow = window.open('', '', 'width=200,height=100');
            myWindow.document.write("<p>This is 'myWindow'</p>");

            myWindow.document.close();
            myWindow.focus();
            print(myWindow);
            myWindow.close();

        }

</script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table style="width: 100%">
                <tr>

                        <td>

                            <asp:Label ID="lblBarcode" runat="server" Text=" Barcode" CssClass="titlelabel"></asp:Label>

                        </td>

                </tr>
                <tr>
                    <td>
                        <asp:Label ID="lblId" runat="server" Text="ID"></asp:Label>
                        <asp:TextBox ID="txtId" runat="server"></asp:TextBox>
                    </td>
                    <td>
                         <div id="test">
                        <asp:Image runat="server" ID="imgbarcode" Width="80px" />
                        </div>
                    </td>

                </tr>

                <tr>
                    <td style="align-items: center; text-align: center" colspan="3">
                        <input type="button" value="Print" onclick="openWin()" />
                        <%--<asp:Button ID="BtnPrint" runat="server" OnClientClick="openWin()" Text="Print" />--%>
                    </td>

                </tr>

            </table>
        </div>
    </form>
</body>
</html>

编辑:

我得到了一个小更新,我不确定它是否可以提供帮助。单击打印按钮并获取Internet Explorer已停止工作的异常后,我有一个Debug和Cancel窗口。当我选择调试时,我再次转移到Visual Studio解决方案,虽然我看不到任何有用的信息但是当我按下“继续”时,页面实际上显示了打印对话框。但没有“调试”和“继续”,IE完全崩溃。

0 个答案:

没有答案