两个aspx页面传参数并取值的问题,求助各位同仁!

QQQing 2004-01-16 07:18:15
有A和B 两个aspx 页面;
A页面上有个文本框textbox1(服务端控件),其Enabled=false;
点击A页面的某按钮弹出B页面;
B页面上有个‘确定’按钮,其click事件内容如下:
Response.Write("<script language='javascript'>window.opener.document.getElementById('textbox1').value='aaa'; self.close();</script>")

点击B页面的确定’按钮后,B页面正常关闭,A页面上的textbox1里也显示aaa字符串;

然后 我在 A页面 取 textbox1.txt , 得到的却是空字符串"";

为什么呢?

但设置textbox1.Enabled=true后,进行上述操作,却能取得textbox1.txt="aaa"

为什么呢?
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
juststeve 2004-01-17
  • 打赏
  • 举报
回复
页面之间传递值

方式1:

在接收页 的html代码里加上一行: <%@ Reference Page = "WebForm1.aspx" %>

WebForm1 fp=(WebForm1)Context.Handler;
this.TextBox1.Text=fp.name; //name 是第一页的public变量


Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。

方式2:GET方式
在发送页
public int sum=0;

int i =int.Parse(this.TextBox1.Text)*2;

Server.Transfer("WebForm2.aspx?sum="+i);

接收页
this.TextBox1.Text=Request["sum"].ToString();
or this.TextBox1.Text=Request.Params["sum"].ToString();
this.TextBox1.Text=Request.QueryString["sum"];


方法3:全局变量

发送页:
Application["sum"]=this.TextBox1.Text;
Server.Transfer("WebForm2.aspx");

接收页:
this.TextBox1.Text=(string)Application["sum"];

Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值,Application对象将是最佳的选择

在这里用Session[""]的方法雷同

方法4:

发送页:
1.定义静态变量: public static string str="";
2. str=this.TextBox1.Text;
Server.Transfer("webform2.aspx");
接收页:
1.引入第一页的命名空间:using WebApplication1;
2 this.TextBox1.Text=WebForm1.str;


QQQing 2004-01-16
  • 打赏
  • 举报
回复
to wf5360308(峰) :
若把它设置为只读,那只有用html 控件了。

还有其它办法吗?
QQQing 2004-01-16
  • 打赏
  • 举报
回复
微软为何这样处理呢?真不明白!

另外:
B页面传到A页面上的Hidden控件的值,在A页面是可以取到的。
冷月孤峰 2004-01-16
  • 打赏
  • 举报
回复
Enabled为false是取不到值的。你可以把他设为只读的。或者让他不可见也行。
gzhubonet 2004-01-16
  • 打赏
  • 举报
回复
同意楼上!
liuvb 2004-01-16
  • 打赏
  • 举报
回复
如果你把它隐藏,就得不到值,除非设为只读。如楼上的。
stoway 2004-01-16
  • 打赏
  • 举报
回复
把那个textbox1换成<input type=text readonly id=textbox1 runat=server>试试看
liuvb 2004-01-16
  • 打赏
  • 举报
回复
是这样的。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧