日期:2014-05-20  浏览次数:20574 次

100 分!! 用 window.open 方法打开一个子页,这子页如何能把父页面的值取过来?



parent.aspx   上有一个

<INPUT   type= "hidden "   id= "txbHidden "     runat= "server ">  

我用   window.open   方法打开一个子页:   child.aspx

我如何能把父页上   <INPUT   type= "hidden "     id= "txbHidden "     runat= "server ">   的值取过来,并赋值给   child.aspx   页中的   textbox1   ?

=========================================================

我这样做的:

在   child.aspx.CS   的   pageload   中这样写:


string   getcode   =   " ";

string   script   =   " <Script   language= 'javascript '> getcode   =   window.opener.document.getElementById( 'txbHidden ').value; </script> ";

Response.Write(script);
Response.End();

this.TextBox1.Text   =   getcode;


可是页面上没有反应,值没有取过来!


应该怎么做呢?


------解决方案--------------------
window.open( "aaa.aspx? "+你要传的值,....)
------解决方案--------------------
父窗口 window.open( "child.aspx?value=123 ");
------解决方案--------------------
子窗口 this.TextBox1.Text = Request.QueryString[ "value "];
------解决方案--------------------
javascript里的变量,cs文件里能使用吗?
还是都交给javascript来做吧

string script = " <Script language= 'javascript '> document.getElementById( 'TextBox1 ').value = window.opener.document.getElementById( 'txbHidden ').value; </script> ";

Response.Write(script);
------解决方案--------------------
既然用了hidden了,就应该用Request.QueryString()方法:

parent.aspx 页面:
window.open( "child.aspx?value= ' " + txbHidden.text + " ' " +);

在 child.aspx.CS 的 pageload 中这样写:
string str = Request.QueryString( "value ").ToString().Trim();
this.TextBox1.Text = str;

这样就可以了.你试试.
------解决方案--------------------
var kkk = new Array( "karso ", "dotnet ", "123 ");
var karso = window.open( "about:blank ",kkk);
window.showModalDialog( "karso.html ",karso);