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

「このファイル (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 by shashidharkumar »"

于 2012-06-17T15:39:40.403 に答える
0

コメントがDBに正常に保存されたら、ページに次のJavaScriptをレンダリングします。

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

保存が成功したら、WriteComments.aspx.csに以下のコードを追加して、JavaScriptをHTMLでレンダリングします。

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

これは、簡単な手順でよく説明されたANSWER です。

于 2013-11-12T10:53:20.823 に答える