Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关闭.aspx作为带有按钮的fancybox弹出窗口_Javascript_Jquery_Asp.net_Fancybox - Fatal编程技术网

Javascript 关闭.aspx作为带有按钮的fancybox弹出窗口

Javascript 关闭.aspx作为带有按钮的fancybox弹出窗口,javascript,jquery,asp.net,fancybox,Javascript,Jquery,Asp.net,Fancybox,我有一个javascript函数,可以生成一个弹出窗口,并在弹出窗口中加载一个.aspx页面。 这是我的密码: function moveEvent(doTheMove) { var selectedNotesList = getSelectedNoteIDs(); if (doTheMove) { $.fancybox({ 'autoScale': false, 'type'

我有一个javascript函数,可以生成一个弹出窗口,并在弹出窗口中加载一个.aspx页面。 这是我的密码:

function moveEvent(doTheMove) {
        var selectedNotesList = getSelectedNoteIDs();
        if (doTheMove) {
            $.fancybox({
                'autoScale': false,
                'type': 'iframe',
                'height': 225,
                'width': 800,
                'href': 'Utilities/MoveFileTemplate.aspx?eventID=' + selectedNotesList +
                '&oldEventCaseFile=' + $('#hidCaseFile').val(),
                onComplete: function () {
                    $('#fancybox-overlay').unbind();
                },
                onClosed: function () {
                    $("#viewNotesGrid").flexReload();
                }
            });
        }
        else
            showMessage("No expenses are selected.");
    }
在我的.aspx页面中,我有3个单选按钮,一个下拉列表和2个按钮。我想做的是当用户点击“取消”按钮时关闭弹出窗口,而不是按上角的“X”按钮。(按下“取消”按钮时,必须模拟“X”按钮,以便“onClosed:”可以启动并重新加载我的flexigrid) 有什么建议吗?

客户端

  • window.close();作为javascript代码
编辑: 服务器端

  • RegisterStartupScript(“anykey”,“window.close();”
      你可以试试

      var theBox;
      ...
      function moveEvent(doTheMove) {
      ...
         theBox = $.fancybox({
            'autoScale': false,
            'type': 'iframe',
            'height': 225,
            'width': 800,
            'href': 'Utilities/MoveFileTemplate.aspx?eventID=' + selectedNotesList +
                  '&oldEventCaseFile=' + $('#hidCaseFile').val(),
            onComplete: function () {
               $('#fancybox-overlay').unbind();
            },
            onClosed: function () {
               $("#viewNotesGrid").flexReload();
            }
         });
      ...
      } //close the moveEvent function
      
      然后单击“取消”按钮调用

      window.parent.theBox.close();
      

      编辑(OP):它实际上是:parent.$.fancybox.close()

      你能把链接粘贴到你要避免的地方吗?你应该把它粘贴到客户端,这样会更快。如果您需要在代码隐藏中执行一些处理,请使用服务器端代码。我认为如果在iframe中调用它,
      window.close()
      将不会像预期的那样工作……您可以刷新父级,然后它将关闭。只是为了不让我感到困惑。window.parent.theBox.close();作为c#在我的代码中隐藏或作为字符串,然后调用RegisterScriptManager(不确定它是什么,但我看到了)?您可以直接在按钮中添加它
      |我将尝试它,并让您知道我已尝试OnClient Click=但它似乎没有关闭弹出窗口。。。。也许
      theBox=…
      不是我所期望的,需要稍后再试。