2

首先祝大家圣诞快乐:)

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

这是打开灰盒(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 个按钮(保存按钮)。如何使灰盒窗口自行关闭,然后以某种方式刷新 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 代码隐藏文件中的以下代码行,就在 db-insert 之后:

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

现在,灰盒正在关闭,然后,博客页面正在刷新,就像我想要的那样 :)

4

5 回答 5

1

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

“请在第 12 行通过此文件 (gb_scripts.js) 更改 'this.reload_on_close=false;' 到 'this.reload_on_close=true' 和第 67 行更改 'window.location.reload();' 到 'window.location.reload(true);' 并完成 « 最后一次编辑:2010 年 12 月 20 日,上午 4:38:42 由 shashidharkumar »"

于 2012-06-17T15:39:40.403 回答
0

将评论成功保存到 DB 后,在页面中呈现以下 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 );
}
于 2010-12-24T07:59:08.923 回答
0

这只是我们在 JS 中的做法。

于 2011-05-31T06:43:48.700 回答
0

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

于 2012-04-18T21:08:50.563 回答
0

Here is the well explained ANSWER with easy steps : http://www.codeofaninja.com/2010/12/how-to-refresh-greybox-parent-page.html

于 2013-11-12T10:53:20.823 回答