在父窗口中,假如我们是在服务器控件中调用javascript代码的,你可以这样写:
Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "window.showModalDialog(‘Default4.aspx‘,window)", true);
Default4.aspx就是子窗口的页面。这里要注意不能使用Page.ClientScript.RegisterClientScriptBlock()因为Block方法会把该script脚本写在所有控件的前面,这样在页面被加载时,TextBox1控件还没有被加载,子窗口就打开了,所以在子窗口时取不到任何控件的值的。而RegisterStartupScript()方法正好相反,他是把对应Script脚本写在所有控件的后面,所以子窗口能够得到父窗口的任何控件的值。
如果你是在客户端写的JavaScript脚本,那就更简单了
<script language="javascript">
function popwindow()
...{
window.showModalDialog(‘Default4.aspx‘,window);
}
</script>
在子窗口中可写入如下脚本:
<script language="javascript">
var vwin = window.dialogArguments; //得到window参数
var doc = vwin.document.getElementById("TextBox1").value; //获得TextBox的值
alert(doc);
</script>