首页 > 解决方案 > 如何将 window.open 弹出窗口作为对话框

问题描述

我这里有这个按钮,实际上它是由 aspx.net html 制成的。当我单击此按钮时,我想弹出一个模式。制作模态很容易,但就我而言,我想调用我服务器的另一个网页(Printer.aspx)。

<td>
  <Button ID="btnPrint" runat="server" OnClick="Printer_Click" >Printer</Button>
</td>

这是js代码。使用此代码,我能够以弹出窗口的形式打开新窗口,但我想在我的 show modaldiv 中调用 Printer.aspx

    //Printer button click function
    function Printer_OnClientClick(){
        var returnValue = showPopUp('Printer.aspx', 700, 500);
        if (returnValue != null) {
            return true;
        }
        return false;
    }
      //showPopUp function 
 function showPopUp(url,winName,w,h,scroll, clientID){
    LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
        TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
        settings ='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'

    if (url.indexOf("?") == -1)
    {
        url = url + "?";
    }else {
        url = url + "&";
    }
    url = url + "PageId=" + $('#hiddenPageDataId').val();

    var timstamp= new Date().getTime();
    url = url + "&timstamp=" + timstamp;

    try {
    popupWindow = window.open(url,winName,settings) // This will open new tab 
    } catch(e) {
        popupWindow = null;
    }
        
    if (clientID== null){
        return popupWindow;
    } else {
        if (popupWindow != null) {
            $('#' + clientID).val(popupWindow);
        }
        return false;
    }
}

请不要混淆这个 Js 是我做的window.open(),但现在我想在模态 iframe 中调用下一页。我还有另一个 js,我在 Google 中发现它是:

  $(document).ready(function () {
    $(".PrinterSelect").click(function () {
        $("#iFrameDialog").attr('src', $(this).attr("href"));
        $("#divDialog").dialog({
            width: 400,
            height: 450,
            modal: true,
            close: function () {
                $("#iFrameDialog").attr('src', "about:blank");
            }
        });
        return false;
    });
});

这将在 html 页面中工作,但我想用 aspx 页面来做。

标签: javascriptjqueryasp.netiframe

解决方案


推荐阅读