使用Server.Transfer 
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。 
举个例子看看: 
1、创建一个web form 
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 
3、为button按钮创建click事件 
代码如下: 
private   void (object sender,System.EventArgs e)
{
    Server.Transfer("webform2.aspx");
}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
public string Name
{
    get {return TextBox1.Text;}
}
public string Email
{
   get{return TextBox2.Text;}
}
5、新建一个目标页面命名为webform2 
6、在webform2中放置两个Label1,Label2 
在webform2的Page_Load中添加如下代码:
private void Page_load(object sender,System.EventArgs e)
{
   //创建webform的实例
   webform1 wf1;
//获得实例化的句柄
   wf1=(webform1)Context.Handler;
   Label1.Text=wf1.Name;
   Label2.Text=wf1.Email;
}
但是,我尝试的时候,为什么webform1 wf1不行,不能创建这个实例啊?怎么回事?

解决方案 »

  1.   

    当然不行 webform2  Page_load的时候 webform1 应该不存在的
      

  2.   

    webform2 和webform1就像现在default1 和default2
    这个以前的vs的写法,现在没有了,也就是2个页面,你现在之后default2 当然报错了。
      

  3.   


    在webform2.aspx上面加
    <%@ Reference Page="~/webform1.aspx" %>试下
      

  4.   

    4楼的方法是可以的,你在第二个页面加上引用 <%@ Reference Page="~/webform1.aspx" %>
    然后在第二个页面写代码
    protected void Page_Load(object sender, EventArgs e)
        {
            Test_csdn_Default d1 = (Test_csdn_Default)Context.Handler;
            //Test_csdn_Default 源页面的类名 
            Response.Write(d1.Name);
        }