usa un label magari pure nascosto cosi non si vede e non ti da fastidio.

<asp:Label id="ProductID" Visible="False" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' />

per il TextBox hai sbagliato completamente la sintassi:
<asp:TextBox id="miotext" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "mio_campo") %>' />