//放一张空表
     <asp:Table ID="tablee" runat="server">
    </asp:Table>    <asp:Button ID="Button1" runat="server" Text="点击 动态给table添加行 行里面动态添加一个textbox 值为当前时间" OnClick="Button1_Click" />
              <asp:ScriptManager ID="ScriptManager1" runat="server">
     </asp:ScriptManager>
    
     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
           <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
           <asp:Button ID="Button2" runat="server" Text="获取 动态创建的textbox的值" OnClick="Button2_Click" />
        </ContentTemplate>
     </asp:UpdatePanel>
protected void Page_Load(object sender, EventArgs e)
    {   
    }    //获取 动态创建的textbox的值
    protected void Button2_Click(object sender, EventArgs e)
    {
        TextBox tb2 = (TextBox)tablee.FindControl("id");
        this.Label1.Text = tb2.Text;
    }
    //动态创建行 动态创建textbox 动态赋值
    protected void Button1_Click(object sender, EventArgs e)
    {
        TableRow tr = new TableRow();
        TableCell tc = new TableCell();
        TextBox tb = new TextBox();
        tb.ID = "id";
        tb.Text = DateTime.Now.ToString();
        tc.Controls.Add(tb);
        tr.Cells.Add(tc);        tablee.Rows.Add(tr);
    }           问题是 点第二个按钮  获取动态创建的textbox的值时  报错“未将对象引用设置到对象的实例”
   
           就是说没找到动态添加的textbox~~           这种情况  要怎么获取到动态添加的textbox的值~~

解决方案 »

  1.   

    点击button1 后查看页面源代码 看看textbox 的id究竟是什么
      

  2.   


    textbox的id  我写的是固定的~~  报错 为设置到实例 应该这个textbox已经不存在了~~~但是我在Button2 的Click事件里什么都不写的时候~~ 页面刷新  textbox已然还在~没有消失~
      

  3.   


    lz 你就没事偷着乐吧!:-D:《》-D!
      

  4.   

    服务器控件 页面刷新后肯定是取不到的, 要不就你放个hidden
      

  5.   

    哈哈哈哈哈哈哈哈   我折腾一天UpdatePanel   头都大了~~~
      

  6.   

    protected void Button2_Click(object sender, EventArgs e)
        {
     
            this.Label1.Text = Request.Form["id"];
        }
      

  7.   

    http://hi.baidu.com/lpk1/blog/item/5ed831d1fbac1e329b5027a8.html
      

  8.   

    如果我做的是  WEB用户控件  也能用Request.Form 取到值吗?