在a.aspx有一个公共的属性,比如说是aaa
然后通过Server.Transfer(b.aspx)转向到b。aspx页面
看到有资料说可以如下获取a中的aaa属性
a a1;//定义a窗体
a1=(a)Context.Handle//实例化
然后a1.aaa就可以获取到a.aspx页面中的aaa属性的值
-----
问题:怎么来实例化a.aspx窗体,也就是说a a1;这样定义不起作用,该怎么来定义

解决方案 »

  1.   

    a.aspx的类名 a1 = (a.aspx的类名)Context.Handler 
    a1.aaa();//注意aaa()的访问级别
      

  2.   

    如:
    Search.aspx.cs:
    public class Search : PageBase
    {
    protected System.Web.UI.WebControls.DropDownList ddlName;
                      protected System.Web.UI.WebControls.Button btnSearch;
    /// <summary>
    /// 帐号/姓名
    /// </summary>
    public string NameType
    {
    get
    {
    return ddlName.SelectedValue ;
    }
    }
    private void btnSearch_Click(object sender, System.EventArgs e)
    {
    Server.Transfer( "List.aspx" );
    }
    }
    List.aspx.cs:
    private void Page_Load(object sender, System.EventArgs e)
    {
             Search search = (Search )Context.Handler ;
             string NameType = search.NameType;
    }
      

  3.   

    //_Default为ASPX页面所对应的类名
    _Default d1 = (_Default)this.Context.Handler;//tbx_date是Default.ASPX中public的变量。
    this.Label1.Text = d1.tbx_date.Text;
      

  4.   

    可以啊,我就是用的2.0
    楼主如果需要传递变量的话需要那个变量的访问级别是public
      

  5.   

    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; 

      

  6.   

    步骤跟楼上的不差
    问题是出在 WebForm1 wf1; ,比如我上一个页面类名是aaa,那应该就是aaa wf1;对吧?
    aaa是类的话应该显示在蓝色的咯,可以它显示的是黑色,这不就表示没有这个类吗?
      

  7.   

    是黑色的也是类啊你将mouse放在上面看有没有提示,你主要看是否报错。检查namespace是否在一个下面
      

  8.   

    同意:xu8512(突然很想谈恋爱)
    试过了,结果和你说的一样。无法传值
    正在考虑用 Server.Transfer("",true);来传值
      

  9.   

    楼主是ASP.NET2.0的话在MSDN Library for Visual Studio 2005里看看这个: 
    ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/fedf234e-b7c4-4644-a9e8-c1c0870b043b.htm