我想应该是在GridView_RowEditing里面写的,,但根本就获取不到他

解决方案 »

  1.   

    还有就是当没有把该列设置为模板列.在GridView1_RowUpdating里可以通过下面获取textbox
    TextBox new_textbox = (TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0]);
    但当设置为模板列后,,就出现 
    ==========================
    无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”。
    ==========================
    当为模板列时应该怎样写的>?>?
      

  2.   

    应该在 RowDataBound 事件中处理,例如写:  if(e.Row.RowState ==DataControlRowState.Edit)
      {
        TextBox tb=e.Row.FindControl("......");
        .......
      }
      

  3.   

    上面少写了类型转换。不过这个跟后一个问题正好一起来写。看到后边的问题,我又得对那些害人的书籍、“范例”大骂了。谁能保证Cells[3]、Controls[0]是什么对象?程序是可以随时改变控件树的。控件只能用UniqueID来标识。你应该写:  TextBox tb=(TextBox)e.Row.FindControl("......");