比如说有两个页面A和B;
请问,如何在A页面上得到B页面上的控件的属性??

解决方案 »

  1.   

    使用Server.Transfer 
    这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。使用这种方法的整个过程如下: 
    1,在页面里添加必要的控件 
    2,创建返回值的Get属性过程 
    3,创建可以返回表单的按钮和链接按钮 
    4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面 
    5,在第二个页面中,我们就可以使用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) 

    //create   instance   of   source   web   form 
    WebForm1   wf1; 
    //get   reference   to   current   handler   instance 
    wf1=(WebForm1)Context.Handler; 
    Label1.Text=wf1.Name; 
    Label2.Text=wf1.EMail;