首先,祝大家圣诞快乐:)
我有一个博客,人们可以在那里发表评论。我现在决定将“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正在关闭,然后,博客页面就像我想要的那样令人耳目一新:)
答案 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)