因为是动态生成的,所以回发以后状态不能保存,如果你需要访问值你需要保证动态生成代码在每次Page_Load的时候执行,或者你这么访问:Request["TextBox1"] :-)

解决方案 »

  1.   

    Request["TextBox1"] 返回的是string,这个string是个什莫哪?控件id?还是。。??请指点!
      

  2.   

    Request["TextBox1"]是一个Object类型的变量,相当于(object)TextBox1.Text
      

  3.   

    you have to recreate those controls upon postback, seehttp://support.microsoft.com/default.aspx?scid=kb;EN-US;317515orhttp://blog.joycode.com/saucer/posts/19456.aspx
      

  4.   

    Request.Form["Text/lable"];
    用这个应该可以取得页面中的Text/lable
      

  5.   

    好技术,http://blog.joycode.com/saucer/posts/19456.aspx
    关注啊!
      

  6.   

    saucer(思归/MVP) 出手果然不一样!
    :-)
      

  7.   

    使用Request.Form[sequencedataLabelid];返回的是null,sequencedataLabelid是我动态创建的label的ID。
      

  8.   

    to saucer(思归/MVP)
    i have read the article u recommended to me..but it can't solve my problem..because i must create the table according the value of ViewState["totalnum"]...so..how can i deal with it..?
      

  9.   

    我的程序的思路是这样的:
    1、用户输入要创建的label的个数。点击按钮,记下此数保存在ViewState["totalnum"]中
    2、根据用户的输入动态创建label。
    3、用户在动态创建label中填入数值。点击“提交”按钮
    4、在“提交”按钮的click事件中获取动态创建的label.text。
    问题在于,当用户点击“提交”按钮后,动态创建的label就失效了。那莫我该如何获得用户输入的值哪????
      

  10.   

    问题已经解决,方法如下:
    for(int icount=1;icount<=int.Parse(ViewState["totalnum"].ToString());icount++)
    {

    string sequenceinttext=Request.Form["sequencedataTB"+icount.ToString()].ToString();
    sequenceint[icount]=int.Parse(sequenceinttext);
                    
    string nameTBtext=Request.Form["nameTB"+icount.ToString()].ToString();
    namestr[icount]=nameTBtext;

    string ipTBtext=Request.Form["ipTB"+icount.ToString()].ToString();
    ipstr[icount] =ipTBtext;

    showresultDiv.InnerHtml+="序号:"+sequenceint[icount]+" 名称:"+namestr[icount]+" IP:"+ipstr[icount]+"<br>";

    } 其中的Label sequencedataLabel;//测量点序号
    改为TextBox sequencedataTB;//测量点序号
    因为Label 不能用Request.Form[]方法来引用,引用的话就会返回null。