Greybox关闭后刷新父页面

时间:2010-12-24 07:54:39

标签: javascript asp.net greybox

首先,祝大家圣诞快乐:)

我有一个博客,人们可以在那里发表评论。我现在决定将“writecomments.aspx”文件放在Greybox弹出窗口中。它可以工作,但我想在写完评论后从代码隐藏(或javascript)关闭窗口。然后我想刷新博客页面(父页面)以显示新评论。

这是打开greybox(writecomments.aspx)页面的代码:

<a href='WriteComments.aspx?BlogId=<%# DataBinder.Eval(Container, "DataItem.id") %>' rel="gb_page_center[500, 500]">Skriv kommentar</a>

在writecomments.aspx文件中,我只有2个文本框和1个按钮(保存按钮)。 如何让greybox窗口自行关闭,然后以某种方式刷新blog.aspx?或者只是当前评论的特定更新面板?

修改 我得到了它的工作,我不得不在db-insert之后将这段代码放在代码隐藏中:Page.ClientScript.RegisterStartupScript(this.GetType(), "close", "parent.parent.GB_hide();", true); 为了刷新父页面,我将第12行的gb_scripts.js文件从false编辑为true:this.reload_on_close=true;

圣诞快乐! :)

再次编辑 实际上,我修改了一下,所以,我把gb_scripts.js文件恢复到它的默认状态,而我只是在WriteComments.aspx代码隐藏文件中的followig行代码,就在db-insert之后:

Page.ClientScript.RegisterStartupScript(this.GetType(), "close", "parent.parent.window.location.reload();parent.parent.GB_hide();", true);

现在,Greybox正在关闭,然后,博客页面就像我想要的那样令人耳目一新:)

5 个答案:

答案 0 :(得分:1)

由于我正在寻找类似的行为,这适用于我的情况: http://www.phpfreaks.com/forums/index.php?topic=235378.0

“请求通过此文件(gb_scripts.js) 在第12行 改变'this.reload_on_close = false;'到'this.reload_on_close = true' 和第67行 改变'window.location.reload();'到'window.location.reload(true);' 并做了 «最后编辑:2010年12月20日,04:38:42 AM由shashidharkumar»“

答案 1 :(得分:0)

评论成功保存到数据库后,在页面中呈现以下javascript:

window.opener.reload();
window.close();

一旦保存成功,在WriteComments.aspx.cs中添加以下代码以在HTML中呈现javascript:

if (!IsClientScriptBlockRegistered("CloseMe"))
{
        String cstext1 = "<script type=\"text/javascript\">" +
            "window.opener.refresh(); window.close();</" + "script>";
        RegisterStartupScript("CloseMe", cstext1 );
}

答案 2 :(得分:0)

答案 3 :(得分:0)

我得到了关闭功能!这是我必须使用的代码:Page.ClientScript.RegisterStartupScript(this.GetType(),“close”,“parent.parent.GB_hide();”,true);现在我只需要以某种方式刷新父页面:)

答案 4 :(得分:0)