1

ASP.net を使用しています。テキストボックスを含むデータバインドされたグリッドビューを含むポップアップブラウザーウィンドウがあります。入力された値を取得してデータベースを更新し、ポップアップを閉じて親を更新する「注文に追加」ボタンがあります。window.opener.document.forms[0].submit();self.close();これは現在、RegisterScriptBlockを使用して完全に機能します。

テキストボックスの値が失われないように、グリッドビューページの変更時にデータベースを更新する必要があります。window.opener.document.forms[0].submit();データグリッドの PageIndexChanging イベントに入れましたが、親ウィンドウが更新されません。親ウィンドウを注文明細行で更新すると、ユーザーはすでに注文したものを確認できます。私のデータベース更新メソッドは正常に実行されますが、親ブラウザーの更新だけではありません。「window.opener.location.href = window.opener.location.href」も試してみましたが、役に立ちませんでした。

前もって感謝します!

4

1 に答える 1

1

親 aspx ページに 1 つの JavaScript 関数を記述します

 function fnReload() {
        alert('hi')
        window.location.href = window.location.href;
    }

Protected Sub grdDisplay_PageIndexChanging(sender As Object, e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles grdDisplay.PageIndexChanging 
    Dim strScript As New StringBuilder() 
    Call addItems() 
    grdDisplay.PageIndex = e.NewPageIndex 
    Call search() 
    ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "reload", "window.opener.fnReload();", true);
End Sub

また、on alert をfnReload()関数に挿入して、この関数が呼び出されたかどうかを確認します。

于 2012-04-17T08:56:33.430 に答える