使用.Net提交按钮关闭iframe Colorbox

时间:2011-05-11 11:38:32

标签: jquery .net iframe postback colorbox

我为彩色框链接调用了一个简单的登录表单,并在iframe中打开。

<script>
    $(document).ready(function () {

        $(".logincb").colorbox({iframe:true, innerWidth:240, innerHeight:200});

    });
</script>

<li><a href="/login/login.aspx" class="logincb">login</a></li>

我遇到的问题是,一旦用户在ifrmae中正确输入登录详细信息,通过后面的代码中的帖子检查我如何重定向父页面并关闭框架?

2 个答案:

答案 0 :(得分:1)

在表单中使用.Net按钮,这一切都让我觉得有点奇怪,我所做的就是在页面中包含以下功能

  <script language="javascript" type="text/javascript">

        function closePage() 
        {
            parent.$.fn.colorbox.close(); parent.location = '/support/marketing-media.aspx';
        }

</script>

然后使用ClientScript管理器在代码隐藏按钮事件中调用它。

  if (!ClientScript.IsStartupScriptRegistered("alert"))
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(),"alert", "closePage();", true);
                }

并不是真的很喜欢它的丑陋,但它有效..

答案 1 :(得分:0)

使用以下命令更改父页面的位置:

parent.location.href = "http://newlocation.com";

当父位置发生更改时,iframe会自动丢失,因此无需将其删除。但是,如果您想在更改父位置之前先关闭colorbox,可以通过将操作绑定到cbox_closed事件来实现。例如:

parent.jQuery(document).bind('cbox_closed', function(){
    location.href = "http://newlocation.com";
});