读书人

100 分! 用 window.open 方法打开一个

发布时间: 2012-01-11 22:28:46 作者: rapoo

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);

读书人网 >asp.net

热点推荐