一个超级问题?

时间:2022-11-18 03:09:42
我从一个页采用模式对话框打开一个页面,传过来参数ABC,我在模式对框架里面的页面用document.Form1.TextBox1.value=window.parent.dialogArguments取得了传过来的值,我把
前面这句话是生成到Body的onload里面,页面打开后TextBox1里面可以看到传过来的值,可是
在页面打开的时候我无法访问到此数据,我Response了TextBox1.Text一下,是空的。请问这是
怎么回事呢?程序如下:
protected System.Web.UI.HtmlControls.HtmlControl MyBody;
private void Page_Load(object sender, System.EventArgs e)
{

if(!Page.IsPostBack)
{
MyBody.Attributes.Add("OnLoad","document.Form1.TextBox1.value=window.parent.dialogArguments"); Response.Write(this.TextBox1.Text.Trim());//此处报出来为空的。但显示出来的页面里面传过来的值就躺在TextBox里面,如果是生成周期的问题的话,我在页面打开的时候如何来访问此值呢。


}
}

11 个解决方案

#1


一楼,帮你顶

#2


帮你顶^_^

#3


有没有人可以来帮我一下啊

#4


up

#5


没有这么试过不过我猜Response.Write(this.TextBox1.Text.Trim())实在服务端进行所以这是TextBox1.Text是没有值的,然后再客户端执行document.Form1.TextBox1.value=window.parent.dialogArguments,放上了值。所以你在Response.Write(this.TextBox1.Text.Trim())的时候并没有值出现。为了防止这样你可以考虑在其服务端得到值得方式,比如用xxxxx.aspx?id=1,然后在Page_Load中用
string id = Request.QueryString["id"];得到

#6


我用模式对话框时,采用了中间框架,所以用楼上所说的方法实现起来比较烦,当然做是可以做到的。但现在遇到这个困难了,就应该想办法解决。

#7


如果页面上面TextBox1中有值证明值已经取到了,如果你想让服务端也得到它就得PostBack
可作以下试验在页面下加一个 button然后在其单击事件中写
Response.Write(this.TextBox1.Text.Trim());看看这时有没有值输出

#8


加个Button当然是可以取到值的,我想应该是生成期的问题,也就是脚本的执行顺序了。ASP.NET页面应该是先生成全部的页面控件,然后再注册客户端脚本。但现在还是没能想到如何在加载页面的时候能够取到这个值。我指在后台

#9


我觉得你是无法用这种方法得到这个值的就是因为这个原因,asp.net先执行的是服务端然后在客户端。如果你有方法得到这个值一定告诉我。共同提高:)

#10


楼上的兄台,我解决啦,哈哈哈~~~~~
其实这也是变通了一下,让页面自动提交一次就行了。

#11


接分,,楼主好好玩发个贴子自己解决,看来有些问题还是要自己来解决的!

#1


一楼,帮你顶

#2


帮你顶^_^

#3


有没有人可以来帮我一下啊

#4


up

#5


没有这么试过不过我猜Response.Write(this.TextBox1.Text.Trim())实在服务端进行所以这是TextBox1.Text是没有值的,然后再客户端执行document.Form1.TextBox1.value=window.parent.dialogArguments,放上了值。所以你在Response.Write(this.TextBox1.Text.Trim())的时候并没有值出现。为了防止这样你可以考虑在其服务端得到值得方式,比如用xxxxx.aspx?id=1,然后在Page_Load中用
string id = Request.QueryString["id"];得到

#6


我用模式对话框时,采用了中间框架,所以用楼上所说的方法实现起来比较烦,当然做是可以做到的。但现在遇到这个困难了,就应该想办法解决。

#7


如果页面上面TextBox1中有值证明值已经取到了,如果你想让服务端也得到它就得PostBack
可作以下试验在页面下加一个 button然后在其单击事件中写
Response.Write(this.TextBox1.Text.Trim());看看这时有没有值输出

#8


加个Button当然是可以取到值的,我想应该是生成期的问题,也就是脚本的执行顺序了。ASP.NET页面应该是先生成全部的页面控件,然后再注册客户端脚本。但现在还是没能想到如何在加载页面的时候能够取到这个值。我指在后台

#9


我觉得你是无法用这种方法得到这个值的就是因为这个原因,asp.net先执行的是服务端然后在客户端。如果你有方法得到这个值一定告诉我。共同提高:)

#10


楼上的兄台,我解决啦,哈哈哈~~~~~
其实这也是变通了一下,让页面自动提交一次就行了。

#11


接分,,楼主好好玩发个贴子自己解决,看来有些问题还是要自己来解决的!