我在gridview中,设置一列textbox用来接受用户输入的数据,当用户输完成后,再通过另外一个button的click事件将得到的数据提交到数据库,但是最后得到的值是空值,这是怎么回事呢?
页面代码是这样的:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField HeaderText="购买数量">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:TextBox ID="TB1" runat="server"  onkeydown="return checkFloat(event)" onkeyup='Cal(this)'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
</Columns>
</asp:GridView>后台代码Button2_Click事件该如何写呢?

解决方案 »

  1.   

    在GridView模板列内获得textbox的值,用
    ((TextBox)GridView.Rows[].Cells[].FindControl('TextBox的ID')).Text.ToString()
      

  2.   

    ((TextBox)GridView.Rows[].Cells[].FindControl('TextBox的ID')).Text.ToString()
      

  3.   

    ((TextBox)GridView.Rows[].cells[].findcontrol("textboxeid")).text.tostring();
      

  4.   

    for(int i=0;i<GridView.Rows.Count;i++)
    {
       string text=((TextBox)GridView.Rows[i].FindControl('TextBox的ID')).Text.ToString()    //插入数据库操作
    }
      

  5.   

    你们确定
    我这样写的
    for (int i = 0; i < GridView2.Rows.Count; i++)
            {
                string num = ((TextBox)GridView2.Rows[i].FindControl("TextBox1")).Text.ToString();
    }  不行啊 报错
      

  6.   

    你这个模板列里的EditItem有什么用呀??