我做了一个页面,大致是页面的上半部分是几个编辑框,下面是一个DataGrid,而DataGrid里面的数据是通过弹出一个子页面来选择数据获得,现在我想在子页面中选择数据后自动刷新父页面,并且编辑框中填写的内容保持不变

解决方案 »

  1.   

    1.在父页面加一个按钮(id=xx runat=server)用于刷新DataGrid的内容;
    2.子页面中条件选择完毕后,window.opener.document.getElementById('xx').click();
      

  2.   

    在子页面中执行js脚本:window.opener.location.reload();
      

  3.   

    window.opener.document.forms(0).submit();
      

  4.   

    smile9961() :我用过你的方法,感觉也是行得通的,可我用window.opener.document.getElementById('xx').click();
    始终触发不了click()事件,不知道哪里出错了,请指教啊!
      

  5.   

    比如你的子页面中条件选择完毕后,点“查询”按钮提交,那么可以在该按钮的click事件中
    Response.Write("<script language=javascript>window.opener.document.getElementById('xx').click();</script>")
      

  6.   

    1、打开窗口的页面中有个button
    <asp:button id="Button1" style="Z-INDEX: 110; LEFT: 336px; POSITION: absolute; TOP: 40px" runat="server"
    Width="0px" Text="隐藏的Button,用来读取Employee表中的数据"></asp:button>
    事件为:GetEmployee()
    2、弹出窗口中有DataGrid
     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack Then
                BindData()'绑定datagrid
                SelEvent()'添加javascript到datagrid的每一行
    End If '为DataGrid的每一行添加Javascript
        Private Sub SelEvent()
            Dim i As Integer
            Dim strScript As String = ""
            viewstate("id") = Request.QueryString("id") '返回值的控件ID
            viewstate("click") = IIf(Request.QueryString("click") = "", "", Request.QueryString("click")) '产生事件的控件名
            For i = 0 To DataGrid1.Items.Count - 1
                strScript = "window.opener.document.getElementById('" + viewstate("id") + "').value='" & DataGrid1.Items(i).Cells(1).Text
                strScript &= "';"
                If Len(viewstate("click")) > 0 Then
                    strScript &= "opener.document.all." & viewstate("click") & ".click();"
                End If
                strScript &= "window.close();"
                DataGrid1.Items(i).Attributes.Add("OnDblClick", strScript)
            Next
        End Sub