0
親ページと子ページの両方がaspxです。すべて動作していますが、ユーザーが子ポップアップページを閉じて親ページに戻り、Gridviewのページインデックスなどの何かをクリックすると、子ページを閉じるようになりました。ユーザーが別のアプリや他の場所に行った場合、ポップアップの子ページを閉じることができません。親ページの内容が変更された場合にのみ閉じたいです。親ページでgridviewインデックスが変更された場合、子aspxページを閉じます。
私は他の目的のために設定されたPageIndexChangeイベントを持っています。Gridviewインデックスが変更された場合は子ポップアップページを閉じるためのスクリプトマネージャやJavaなどの機能を追加したいと思います。
子ページが開いているかどうかを確認する必要があります。
ご協力いただければ幸いです。
EDITED:これは、あなたがRowDataBound
イベントでonclick
ハンドラをアタッチし、イベントでポップアップを閉じることができます...
' Sets up popup to open when row selected for edit is cycled in DataRowBound event
If IsPostBack Then
If (e.Row.RowState And DataControlRowState.Edit) > 0 Then
If Session("updateComplete") <> "Y" And Session("CancelUpdate") <> "Y" Then
Dim BrowserSettings As String = "status=no,toolbar=no, scrollbars =yes,menubar=no,location=no,resizable=no," & "titlebar=no, addressbar=no, width=650, height=800"
Dim URL As String = "pttStringPopUp.aspx"
Dim scriptText1 As String = ("<script>javascript: var w = window.open('" & URL & "','_blank','" & BrowserSettings & "'); </script>")
ScriptManager.RegisterStartupScript(Me, GetType(Page), "ClientScript1", scriptText1, False)
Session("updateComplete") = "N"
End If
End If
End If
おかげで、
これは、ユーザーが子ページから離れることを許可されなければならないため、機能しません。グリッドビューのページインデックスが変更された場合のみ、私はその子を閉じることができます。 RowDataBoundは、ページインデックスが変更されたかどうかを確認できない限り、子ページを閉じる理由を教えてくれません。それを行う方法や、親ページから子ページを閉じる方法がわかりません。 – htm11h
私はあなたが私の答えを理解しているとは思わない。私は 'RowDataBound'イベントの' GridViewRow'にクリックイベントを付加しています。行がクリックされ、JavaScript関数が起動されたときに子ウィンドウを閉じる。 –
ポップアップの原因となった行から、選択した行が変更された場合は、子ウィンドウを閉じる必要があると思います。うーん、私はこの1つを失った。 – htm11h