需要完成的功能:几个查询页面,一个显示查询结果的页面。页面之间传递sql语句。
不想用Session和cookies传递,想用Server.Transfer。
不知道怎么实现,网上看了些例子,都是1:1的,我现在是n:1,那怎么实现?
如果查询页面传过来的参数为空,则查询结果页面默认给一句sql语句。在线等。

解决方案 »

  1.   

    用 HttpContext.Handle 强转为前个页面的类,然后直接取:例:A.aspx Transfer to B.aspx
    ----------------------------------
    注意:A的TextBox改为public
    public class A : System.Web.UI.Page
    {
    public System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Button Button1;

    // 自动生成代码省略... private void Button1_Click(object sender, System.EventArgs e)
    {
    Server.Transfer("B.aspx");
    }
    } public class B : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TextBox1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    A a = (A)this.Context.Handler;
    this.TextBox1.Text = a.TextBox1.Text;
    }
    }
                      // 自动生成代码省略...
    }
      

  2.   

    页面传递参数还有什么方法么?
    不想用QueryString
      

  3.   

    QueryString 是GET, 那么还有就是POST咯。从Request里取值
      

  4.   

    想用Server.Transfer做传递参数
    比如我有查询页面a,b,c。查询结果页面d.
    a,b,c页面如
    public class A : System.Web.UI.Page
    {
    public System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Button Button1;

    // 自动生成代码省略... private void Button1_Click(object sender, System.EventArgs e)
    {
    Server.Transfer("B.aspx");
    }
    }
    那么d 页面怎么写呢?
    public class B : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TextBox1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    A a = (A)this.Context.Handler;
    this.TextBox1.Text = a.TextBox1.Text;
                                         B b = (B)this.Context.Handler;
                                         //..............
                                         C c = (C)this.Context.Handler;
                                         //..............
    ///////////////////这么写也太麻烦了,有没有简单的方法??/////////////
    }
    }
                      // 自动生成代码省略...
    }
      

  5.   

    public class A : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Button Button1;

    // 自动生成代码省略... private void Button1_Click(object sender, System.EventArgs e)
    {
    Server.Transfer("B.aspx");
    }
    }public class B : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TextBox1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
                                    string str = (string)this.Request["TextBox1"];
    }
    }
                      // 自动生成代码省略...
    }
      

  6.   

    string str = (string)this.Request["TextBox1"];
    /////这个Request["TextBox1"]哪里来的呢???
      

  7.   

    TextBox1是上个页面里Form里的ID值