把那个textbox1换成<input type=text readonly id=textbox1 runat=server>试试看

解决方案 »

  1.   

    Enabled为false是取不到值的。你可以把他设为只读的。或者让他不可见也行。
      

  2.   

    微软为何这样处理呢?真不明白!另外:
    B页面传到A页面上的Hidden控件的值,在A页面是可以取到的。
      

  3.   

    to wf5360308(峰) :
        若把它设置为只读,那只有用html 控件了。    还有其它办法吗?
      

  4.   

    页面之间传递值方式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对象将是最佳的选择在这里用Session[""]的方法雷同方法4: 发送页:
        1.定义静态变量:  public static string str="";
        2. str=this.TextBox1.Text;
           Server.Transfer("webform2.aspx");
     接收页:
        1.引入第一页的命名空间:using WebApplication1;
        2  this.TextBox1.Text=WebForm1.str;