我在后台是这样拿值的  int Id=Convert.ToInt32(this.txtID.text);  它提示找不到txtID,我只是隐藏而已啊,没有禁用啊,怎么回事啊?

解决方案 »

  1.   

    那个控件是这样的<asp:TextBox ID="txtID" runat="Server" width="100"></asp>
      

  2.   

    是这样的额。。<asp:TextBox  ID="txtID" runat="server" Width="100"></asp:TextBox>
      

  3.   

    隐藏之后生成的html代码里是没有这个控件的ID的
      

  4.   

    我试了一下,隐藏也是可以取到这个控件的,用ID可以访问和取值,你可能是值为空时转换为int32报错int Id=Convert.ToInt32(this.txtID.text); 转换为int32前判断是否为空
      

  5.   

    报错说对象为null,或者未定义
      

  6.   

    this.txtID.text这个值可能是空,贴出你的代码吧
      

  7.   

    .. 贴下代码  ,你先别去运行这段代码了   等页面完全展示后 你查看源码看这个TextBox  能不能找到.或者
    在服务器端设置看看
    TextBox1.Attributes.Add( "style ", "display:none ")
      

  8.   

    asp.net控件隐藏、禁用什么的,后台都能取到值,看到好新人纠结这个报错是因为类型转换的问题,类型不匹配
    int Id=Convert.ToInt32(this.txtID.text);这里text文本肯定不是数字