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

时间:2012-10-09 14:23:32

标签: javascript jquery asp.net fancybox

我有一个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个单选按钮,一个DropDownList和2个按钮。我想要做的是当用户点击“取消”按钮而不是按下顶角的“X”按钮时关闭弹出窗口。 (当按下取消按钮时,它必须模仿“X”按钮,以便“onClosed:”可以触发并重新加载我的flexigrid)  有什么建议吗?

2 个答案:

答案 0 :(得分:1)

客户端

  • window.close()的;作为
  • 中的javascript代码

编辑: 服务器端

  • Page.RegisterStartupScript( “任意键”, “window.close()的;”);

答案 1 :(得分:1)

你可以尝试

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();

EDIT(OP):它实际上是:parent。$。fancybox.close();