将父页面重定向到fancybox内的提交上的指定URL

时间:2013-01-02 12:10:49

标签: c# jquery asp.net fancybox

我正在使用fancybox并在提交我的表单后,我想将我的父页面重新设置为某个指定的网址,我正在使用fancybox,如下所示

$(document).ready(function () {
            $('[id*=addnewRequest]').fancybox({
                'width': 760,
                'height': 540,
                'padding': 0,
                'margin': 0,
                'hideOnOverlayClick': false,
                'scrolling': 'auto',
                'autoScale': false,
                'transitionIn': 'none',
                'transitionOut': 'none',
                'type': 'iframe',
                'centerOnScroll': true,
                'onClosed': function () {

                    if ($.redirTo != null && $.redirTo.length > 0){

                        window.location.replace($.redirTo);
                    }

                    else {
                        parent.location.reload(true);
                    }
                }
            });
        });

在提交表单后,我使用下面的注册脚本,其中' redirectTo'是我希望我的父页面将重定向的网址

ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "add", "parent.jQuery.redirTo='" + redirectTo + "'; parent.jQuery.fancybox.close();", true);

现在我的父页面将如何重定向到特定的url.Any想法?

感谢,

1 个答案:

答案 0 :(得分:2)

提交表单后,您可以使用新网址直接致电window.top.location.href

window.top.location.href = "http://www.urltogo.com/pagetomove.aspx";

并避免在父母身上发送参数,并从那里进行重定向。

这是一个例子(我加上5秒的延迟以便有时间看它)

http://jsfiddle.net/u6whQ/3/http://jsfiddle.net/u6whQ/4/

你的行可能是:

ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "add", "window.top.location.href ='" + redirectTo + "'; parent.jQuery.fancybox.close();", true);