Cita: Pero con que certeza tengo que el ID del control que coloca en modo de edicion se llame TextBox1 ?????
Ok... no es de que haya certeza.. lo que pasa es que cuando haces tu datagrid.. tu colocas tus propios controles cuando se presenten en modo edición.
Por ejemlo... tienes una columna que se llama LastName que lo traes de un template column (y el campo de tu BD se llama
lastname ) y lo colocas en una label... te quedaría:
Cita: <asp:TemplateColumn HeaderText="Last Name">
<ItemTemplate>
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.lastname ") %>'>
</asp:Label>
</ItemTemplate>
Hasta aquí bien..

. por otro lado cuando el usuario de click para editar esa columna tambien colocas dentro de tu templatecolumn y campo por ejemplo de textbox para que pueda editar el valor de tu lastname, y con ello poder hacer el update, delete.. etc.
te quedaría.
Cita: <EditItemTemplate>
<asp:TextBox id="txtName " runat="server"></asp:TextBox>
</EditItemTemplate>
Claro que si deseas que te cargue el valor que tiene en la base de datos tambien lo puedes hacer así.
Cita: <EditItemTemplate>
<asp:TextBox id=txtName runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.lastname ") %>'>
</asp:TextBox>
</EditItemTemplate>
De tal forma que te quedaría completo de la siguiente forma
Cita: <asp:TemplateColumn HeaderText="Last Name">
<ItemTemplate>
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.lastname") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate >
<asp:TextBox id="txtLastName " runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
y ya cuando desees accesar para guardar, borrar, etc. a través del parámetro "e".. puedes hacerlo así.
Cita: Dim LastName As String = CType(e.Item.FindControl("txtLastName "), TextBox).Text
Con ello lo que haces es buscar el control que tenga el ID =
txtLastName
Espero que con ésto te hayas dado una mejor idea.
saludos