在这里面就能找到Textbox2 
<asp:TemplateColumn>
        <ItemTemplate>
           <asp:TextBox id="Textbox2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>for (int i=0; i < DataGrid1.Items.Count; i++) 
{
    TextBox Remove = (TextBox) DataGrid1.Items[i].FindControl("Textbox2");
    Remove.Text ="2222";
}在这里面怎么就找不到了呢?? 
<EditItemTemplate>
     <asp:TextBox id="Textbox2" runat="server"></asp:TextBox>
</EditItemTemplate>for (int i=0; i < DataGrid1.Items.Count; i++) 
{
    TextBox Remove = (TextBox) DataGrid1.Items[i].FindControl("Textbox2");
    Remove.Text ="2222";
}
出现错误说不能找到对象 如何才能实现同上功能呢??
请大家帮帮忙

解决方案 »

  1.   

    在DataGrid的ItemDataBound事件中找,因为你的TextBox是在编辑行模板中,所以得判断当前行是不是编辑行,象这样:void DataGrid1_ItemDataBound(object src,DataItemItemEventArgs e){
    if(e.Item.ItemType==ListItemType.EditItem){
    TextBox txtBox=e.Item.FindControl("TextBox2") as TextBox;
    if(txtBox!=null){
    //在此操作
    }
    }
    }----------------------------------------
    欢迎使用AspNetPager免费分页控件:http://www.webdiyer.com