[英]close child aspx page if gridview index is changed on parent page
我有一个父页面和一个子页面,都为aspx。 一切正常,但是现在我想关闭子页面,如果用户离开子弹出页面并返回父页面并单击诸如Gridview的页面索引之类的其他内容。 如果用户转到另一个应用程序或其他位置,我无法关闭弹出子页面,我只想在父页面上的某些内容更改时关闭。
我已经将PageIndexChange Event设置用于其他目的,我想添加一些功能,也许是脚本管理器,以在更改Gridview索引时关闭子弹出页面,java或其他效果最好的方式。
我想我可能还需要检查子页面是否打开。
任何帮助和例子将不胜感激。
编辑:这是打开弹出子页面的代码。
' 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
事件中附加一个onclick
处理程序,并在该事件中关闭弹出窗口:
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();
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.