我有一个父页面和子页面,都是aspx。一切正常,但现在我想关闭子页面,如果用户离开子弹出页面并返回到父页面并点击其他内容,如Gridview的页面索引。如果用户转到另一个应用程序或其他位置,我无法关闭弹出子页面,我只想关闭父页面上的某些内容。
我为其他目的设置了PageIndexChange事件,我只想添加一些功能,如果Gridview索引被更改,java或其他最好的方式,可能是脚本管理器关闭子弹出页面。 / p>
我想我可能还需要检查子页是否打开。
非常感谢任何帮助和示例。
EDITED:这是打开弹出子页面的代码......
' 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 :(得分:0)
您可以在onclick
事件中附加RowDataBound
处理程序,并在关闭弹出窗口的情况下:
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();
}
}
}
}