2011-11-17 8 views
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 

おかげで、

答えて

0

ポップアップ子ページを開くコードです:

protected void GridView1_RowDataBound(object sender, EventArgs e) 
{ 
    e.Row.Attributes["onclick"] = String.Format("rowClick({0});", e.Row.RowIndex); 
} 

ASPX:

var dialog; 
var selectedRowIndex; 

rowClick = function(rowIndex){ 
    if (selectedRowIndex){ 
     if (rowIndex != selectedRowIndex){ 
      selectedRowIndex = rowIndex; 
      if (dialog){ 
       dialog.close(); 
      } 
     } 
    } 
} 
+0

これは、ユーザーが子ページから離れることを許可されなければならないため、機能しません。グリッドビューのページインデックスが変更された場合のみ、私はその子を閉じることができます。 RowDataBoundは、ページインデックスが変更されたかどうかを確認できない限り、子ページを閉じる理由を教えてくれません。それを行う方法や、親ページから子ページを閉じる方法がわかりません。 – htm11h

+0

私はあなたが私の答えを理解しているとは思わない。私は 'RowDataBound'イベントの' GridViewRow'にクリックイベントを付加しています。行がクリックされ、JavaScript関数が起動されたときに子ウィンドウを閉じる。 –

+0

ポップアップの原因となった行から、選択した行が変更された場合は、子ウィンドウを閉じる必要があると思います。うーん、私はこの1つを失った。 – htm11h

関連する問題