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; }
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; }
我在这里提供一种解决方法
如果你想获得前一个页面中的控件的值 可以直接在Request.Forms属性中得到如果想获得前一个页面中的属性或是方法的值 你可以再前一个页面中的值放在Context.Items集合中 这样在第二个页面中就可以得到