比如有2个页面 a.aspx,b.aspx,我在a.aspx页面按照类别、地点和关键字查询,点搜索后在b.aspx页面显示搜索的结果,怎么将a.aspx页面的值传到b.aspx页面显示结果??

解决方案 »

  1.   

    1.SESSION
    2.跨页访问
    3.参数少的话,URL传值
      

  2.   

    可以用Response.Redirect("b.aspx?类别=类别名&&地点=地点名")在b.aspx中用Request.QueryString["类别"];获得传递过来的值,然后进行查询,将结果显示出来
      

  3.   

    在a.aspx页面的搜索按扭中将类别.地址.关键字,因为类别.地址.关键字可能含有中文。所以要先进行编码.传到b.aspx页面.
    response.redirect("b.aspx?sort="+ server.urlEncode(类别)+"&address="+server.urlEncode(地址)+"&like="+server.urlEncode(关键字));在b.aspx接收a.aspx页面传过来的值进行解码.然后搜索处理.......
      

  4.   

    4楼的正解,最好是在b.aspx中接收参数并查询,然后显示结果
      

  5.   

    WebForm页面传值使用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;
    }