繁体   English   中英

如果父页面上的gridview索引更改,则关闭子aspx页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM