è solo a mio parere un brotto accrocchio, se guardi la ItemTemplate
contiene sia i controlli da visualizzare in EditMode e in standarMode
<asp:Label ID="lblFirstName" Visible='<%# !(bool) IsInEditMode %>' runat="server" Text='<%# Eval("FirstName") %>' />
<asp:TextBox ID="txtFirstName" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Eval("FirstName") %>' />
e li nasconde controllando il valore restituito da una proprietà...
IMO una cosa davvero brutta