我的页面上有个gridview,该gridview中有一个模板列,该模板列中放置了一个textbox控件,
在页面上还有个button按钮,当我单击按钮时,我要把该gridview每行的textbox的值存入数据库
请问该怎么做?

解决方案 »

  1.   

    foreach(GridViewRow gvr in GridView1.Rows)
    {
       TextBox t = gvr.FindControl("TextBox1") as TextBox;
       if(t != null)
       {
         //用GridView1.DataKeys[gvr.RowIndex].Value.ToString()得到主键列
         //根据t.Text向数据库里插入
       }
    }
      

  2.   

    我博客中的一篇文章,你看看,或许有点帮助:
    ====================假如你在gridview中添加一个模板列,并 在模板列中存放了一个dropdownlist控件。那么,问题就是:你如何去操作这个dropdownlist控件????//对于gridview控件: System.Web.UI.WebControls.GridViewRow rows = (GridViewRow)((Control)sender).Parent.Parent;//获取对于ui层次结构中服务器控件的父控件的父控件的引用
            DropDownList list = (DropDownList)rows.FindControl("DropDownList1");//对于datagrid控件: System.Web.UI.WebControls.DataGridItem item = (DataGridItem)((Control)sender).Parent.Parent;//获取对于ui层次结构中服务器控件的父控件的父控件的引用
            DropDownList list = (DropDownList)rows.FindControl("DropDownList1");其实运用的就是findcontrol方法。
    System.Web.UI.WebControls.GridViewRow rows = (GridViewRow)((Control)sender).Parent.Parent;//获取对于ui层次结构中服务器控件的父控件的父控件的引用
      

  3.   

    amandag 我刚用你的方法调试了下, int a = Convert.ToInt32(t.Text.ToString()); 
    但是当这句执行完后,变量a的值仍是页面初始化的值 
    怎么回事? 
      

  4.   

    你的GridView绑定的时候,是否进行了回传页的判断?    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //绑定你的GridView
            }
        }
      

  5.   

    谢谢你了,在网上找了半天都没找到答案,你一下就给解决了!
    牛XXX!