Edit的时候,这个文本框还没有生成

解决方案 »

  1.   

    Edit事件里面,你指定了EditItemIndex,页面根据这个编辑行的Index来生成对应的文本框
    所以你在Edit里面,是没有办法获取这个文本框的
      

  2.   

    楼主为什么要在EditCommand 事件里面去取文本框的值呢?
      

  3.   

    我想获得它没有修改前的值~
    ------------------
    没修改前得值 e.Item.Cells[1].Text
      

  4.   

    兄弟,你不必一定要在“EditCommand ”事件里去取值啊有很多办法的
    比如:
    private void myDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemType==ListItemType.EditItem)
    {
    for(int i=2;i<e.Item.Cells.Count-2;i++)
    {
    TextBox tbxColumn;
    tbxColumn=(TextBox)e.Item.Cells[i].Controls[0];
    tbxColumn.BorderStyle=BorderStyle.Solid;
    tbxColumn.BorderWidth=1;
    tbxColumn.Width=50;
    //也可以在这里相应的取值啊,还可设置在编辑的时候不一定只用文本框,用什么都可以!
    }
    }
    }
      

  5.   

    我用e.Item.Cells[1].Text得到是个空字符串
      

  6.   

    当在 EditCommand 事件的时候,TextBox 控件还没有生成,肯定会出错
    而在UpdateCommand事件的时候, TextBox 已经生成出来了,所以就可以了.