在Asp.net2.0中,使用Session传递一个值(A页面传递到B页面),
Session付值是在按钮的onclick事件中,例如:
Session["test"]="a";
this.Response.Redirect("B.aspx");
那么这个时候在B.aspx(Page_load的时候)中去不到这个Session,
而返回A.aspx,重新操作到B.aspx的时候就可以得到这个Session,
比较怪异的问题,希望得到帮助。

解决方案 »

  1.   

    在Asp.net2.0中,使用Session传递一个值(A页面传递到B页面),
    Session付值是在按钮的onclick事件中,例如:
    Session["test"]="a";
    this.Response.Redirect("B.aspx");
    ---那么这个时候在B.aspx(Page_load的时候)中去不到这个Session,
    注解:第一次的时候
    而返回A.aspx,重新操作到B.aspx的时候就可以得到这个Session,
    注解:第二次的时候
    比较怪异的问题,希望得到帮助。
      

  2.   

    希望贴一点代码出来,大家帮你看看。或者用Server.Transfer呢?
      

  3.   

    应该是没这个问题,lz的sessionState配置节怎么写的
      

  4.   

    SP.NET页面之间传递值个人总结 
    方式1: 
         
    在接收页 的html代码里加上一行: <%@ Reference Page = "WebForm1.aspx" %>             
          
        WebForm1 fp=(WebForm1)Context.Handler; 
        this.TextBox1.Text=fp.name;   //name 是第一页的public变量 
      
      
    Context  提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。  
      
    方式2:GET方式 
        在发送页 
          public int sum=0; 
      
               int i =int.Parse(this.TextBox1.Text)*2; 
      
               Server.Transfer("WebForm2.aspx?sum="+i); 
      
        接收页 
            this.TextBox1.Text=Request["sum"].ToString(); 
        or  this.TextBox1.Text=Request.Params["sum"].ToString(); 
            this.TextBox1.Text=Request.QueryString["sum"]; 
      
      
    方法3:全局变量 
      
       发送页: 
           Application["sum"]=this.TextBox1.Text; 
           Server.Transfer("WebForm2.aspx"); 
      
       接收页: 
           this.TextBox1.Text=(string)Application["sum"]; 
      
    Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值,Application对象将是最佳的选择 
      
      
      
    方法4: 
      
     发送页: 
        1.定义静态变量:  public static string str=""; 
        2. str=this.TextBox1.Text; 
           Server.Transfer("webform2.aspx"); 
     接收页: 
        1.引入第一页的命名空间:using WebApplication1; 
        2  this.TextBox1.Text=WebForm1.str; 
      

  5.   

    取不到是什么意思?是取不到值还是说找不到这个Session?
      

  6.   

    this.Response.Redirect("B.aspx");
    換成
    Response.Write( "<script>window.location='B.aspx';</script>");試試
      

  7.   

    而返回A.aspx,重新操作到B.aspx的时候就可以得到这个Session,
    注解:第二次的时候不要返回A.aspx,在B.aspx刷新一下,看结果怎么样,能得到不??