看了一篇文章关于Server.Transfer传值。 有问题请教

che2piaopiao 2009-05-28 10:23:09
1.在receive.aspx: 根本调不出 send来。
send.aspx: 

public string Name
{
get { return "honge"; }
}

protected void Button1_Click(object sender, EventArgs e)
{ Server.Transfer("receive.aspx"); }


receive.aspx:

send d = Context.Handler as send ;
if (d != null) { Response.Write(d.Name);这样可以得到参数值。 }



2.WebForm1 也调不出

在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了

  以下代码综合实现上述步骤过程的代码:

  源页面代码:

  把以下的代码添加到页面中

  

public string Name  {   get   {   return TextBox1.Text;   }  }  public string EMail  {   get   {   return TextBox2.Text;   }  }


  然后调用Server.Transfer方法

  

private void Button1_Click  (object sender, System.EventArgs e)  {   Server.Transfer("anotherwebform.aspx");  }


  目标页面代码:

  

private void Page_Load  (object sender, System.EventArgs e)  {   file://create instance of source web form   WebForm1 wf1;   file://get reference to current handler instance   wf1=(WebForm1)Context.Handler;   Label1.Text=wf1.Name;   Label2.Text=wf1.EMail;  }



...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangshun 2009-05-29
  • 打赏
  • 举报
回复
两个页面是怎么运作的?直接查看的receive这个页面吗?
guzhonghua 2009-05-29
  • 打赏
  • 举报
回复
不知道lz为什么这样写
我在这里提供一种解决方法
如果你想获得前一个页面中的控件的值 可以直接在Request.Forms属性中得到

如果想获得前一个页面中的属性或是方法的值 你可以再前一个页面中的值放在Context.Items集合中 这样在第二个页面中就可以得到
chen_ya_ping 2009-05-29
  • 打赏
  • 举报
回复
在receive.aspx页面中添加<%@ Reference Page="send.aspx" %>试试看你的问题能不能解决

62,074

社区成员

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

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

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

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