VB.net 使用Response.write()+opner和document.getElementById('TB_Linshi').value 实现子窗口值传回父窗口,传不回数值,但可以传回固定值'123',

  1. 在父窗口点击BT_WO弹出子窗口,子窗口有TB_Lishi和Gridview1,Gridview1设置了AutoGenerateSelectButton="True",通过点击"选择"触心GridviewSelectedIndexChanged事件,将"选择"的行的值赋予给子页面的TB_Lishi,然后通过如下 语句:Response.Write("window.opener.document.getElementById('TB_WO').value=window.document.getElementById('TB_Linshi').ID"),却始终传不到数据,而采用Response.Write("window.opener.document.getElementById('TB_WO').value='123'")却可以传回,折腾好久,搞不明白

  2. 完整代码片段如下

    Protected Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged

        TB_Linshi.Text = Me.GridView1.SelectedRow.Cells(1).Text.ToString()

        Response.Write("<script>window.opener.document.getElementById('TB_WO').value=window.document.getElementById('TB_Linshi').ID</script>")



        '//直接关闭页面,无需点击确认按纽  document.getElementById('TB_Linshi').value
        Response.Write("<script>window.close();value='确定'</script>")

    End Sub