我在gridview中嵌套了一个子控件textbox,textbox绑定了数据源中的一个值(整型),在gridview下面设置了一个按钮,用户可以直接在页面的框中更改textbox中的数值,然后点击button按钮将用户输入的值写入数据库。,可是总是实现不了,希望帮我解决一下,谢谢。我的代码是这样的
protected void Button1_Click(object sender, EventArgs e) { for (int i = 0; i < GridView1.Rows.Count; i++) { Label smalllable = (Label)GridView1.Rows[i].Cells[0].FindControl("Label1"); int cartid = Convert.ToInt32(smalllable.Text); TextBox txtnum = (TextBox)this.GridView1.Rows[i].FindControl("txtnum"); string txt = txtnum.Text; int quantity = Convert.ToInt32(txtnum.Text.Trim()); MiddleCart.UpdateCart(cartid,quantity);//更新回数据库的语句 ShowGridView();//将gridview重新进行绑定 } } 很烦人的是每次点击按钮,gridview显示的仍然是用户没有改过之前的值,也就是用户修改的值,没有写回数据库,可是 TextBox txtnum = (TextBox)this.GridView1.Rows[i].FindControl("txtnum"); string txt = txtnum.Text; 这两个语句不是可以直接读textbox里面的值吗?还是页面要进行刷新?
你用for循环的时候,它不知道你获取的是具体哪一行的控件。这样不行吧,你用Updatecommand试试
那你断点跟下txt的值是不是空呗,你在gridview的command事件里去试试
加断点 一步一步看 是否获取到textbook的值 如果获取到了 看数据库是否保存了