父窗口:a.aspx
其中有一文本框:txtCPDM,输入0000则弹出codequery.aspx网页(已实现),代码为:
Protected Sub txtCPDM_TextChanged(sender As Object, e As EventArgs) Handles txtCPDM.TextChanged
If txtCPDM.Text = "0000" Then Response.Write(" <script> window.open( 'codequery.aspx','产品代码查询', 'height=200, width=640, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'); </script> ") End Sub子窗口:codequery.aspx
其中有一个按钮btnQRXZ,一个标签控件lblCPDM,要实现点击按钮后,将标签lblCPDM的text属性值传回a.aspx,并改变txtCPDM的text属性值,目前代码如下:
Protected Sub btnQRXZ_Click(sender As Object, e As EventArgs) Handles btnQRXZ.Click
Dim scriptstr As String
scriptstr = " <script> window.opener.document.getElementById('txtCPDM').value= '" & lblCPDM.Text & " '; " & " </script> "
Page.ClientScript.RegisterStartupScript(Me.GetType(), "return ", scriptstr)
Page.ClientScript.RegisterStartupScript(Me.GetType(), "close ", " <script> top.opener=null;top.close(); </script> ")
End Sub但运行代码后出现错误:Microsoft JScript 运行时错误: 无法设置属性“value”的值: 对象为 null 或未定义请大虾们指点,十分感谢!
其中有一文本框:txtCPDM,输入0000则弹出codequery.aspx网页(已实现),代码为:
Protected Sub txtCPDM_TextChanged(sender As Object, e As EventArgs) Handles txtCPDM.TextChanged
If txtCPDM.Text = "0000" Then Response.Write(" <script> window.open( 'codequery.aspx','产品代码查询', 'height=200, width=640, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'); </script> ") End Sub子窗口:codequery.aspx
其中有一个按钮btnQRXZ,一个标签控件lblCPDM,要实现点击按钮后,将标签lblCPDM的text属性值传回a.aspx,并改变txtCPDM的text属性值,目前代码如下:
Protected Sub btnQRXZ_Click(sender As Object, e As EventArgs) Handles btnQRXZ.Click
Dim scriptstr As String
scriptstr = " <script> window.opener.document.getElementById('txtCPDM').value= '" & lblCPDM.Text & " '; " & " </script> "
Page.ClientScript.RegisterStartupScript(Me.GetType(), "return ", scriptstr)
Page.ClientScript.RegisterStartupScript(Me.GetType(), "close ", " <script> top.opener=null;top.close(); </script> ")
End Sub但运行代码后出现错误:Microsoft JScript 运行时错误: 无法设置属性“value”的值: 对象为 null 或未定义请大虾们指点,十分感谢!
function setValue(val)
{
document.getElementById("txtCPDM").value =val ;
}子窗体通过opener对象访问父窗体的方法:
后台调用: if(opner){opener.setValue('.....'); window.close();}
页面前执行刷新a.aspx页面,在a.aspx页面load里判断a值是否有值,有则给文本框赋值并清空a变量
试试?
你打开的时候是 <a href="first.aspx?a=234&b=456"></a>
添加完数据你再 代码里写个response.redirect("first.aspx?a=234&b=456");
这样就数据刷了啊
1、IE9下面报错
2、IE6下面可以运行成功,但如果父页面为使用嵌套模板页的网页就不起作用
运行环境:IE6、VB.net ASP.net
请大侠帮忙指点一二目前全部代码未修改,仍未最初的代码