Ufff amigo es que es complicado explicar todos los cambios que hay....
Por un lado, puedes asignar los valores a una caja de texto desde el code-behind, o directamente en el html...
Por otro lado tienes los controles repeater, que te sirven para mostrar una serie de registros de forma personalizada (Es decir, no de forma tabular como dices que tienes el problema con los gridview)
Y por otro lado, tienes los gridview..
Ejemplos:
Vieja usanza:
Código:
<%
ForEach(DataRow objDr in miDataSet.Tables[0].Rows)
{
%>
<asp:textbox runat='server' id='txtCaja' text='<%=objDr["nombre"];%>'
<%
}
%>
Eso sería la vieja usanza... y un ejemplo de Repeter y de gridview... no te lo voy a poner aqui, lo siento, pero es uqe no tengo ninguno a mano.
Pero piensa que cuando queiras mostrar datos repetidos, pero en un formato que no sea tabular (Es decir, como a ti te de la gana), usa el Repetear, y si va a ser tabular (Por ejemplo un pequeño listado) usa el GridView.