Puedes hacerlo con lo que quieras, repeater, datalist, incluso gridview, el truco es hacerlos de manera que metas dentro del código del control el estilo que quieras.
Por ejemplo puedes meter el elemento table dentro de cada fila del control, y la personalizas con css como quieras.
Si quieres hacer cabecera y cuerpo:
Es de sencillo como meter una tabla dentro del gridview por ejemplo y meter una tabla dentro:
Código ASP:
Ver original<datalist>
.....
<table>
<tr>
<td>
.........
//<itemfield id="Nombre">
</td>
</tr>
<tr>
<td>
........
//<itemfield id="Cuerpo">>
</td>
</tr>
</table>
....
</datalist>
Un truco sería meterle margin-bottom:10px o un espacio < / br> despues de la tabla, así las haces separadas de que estas metiendo listas o tipo comentarios, te enseño un pequeño ejemplo que tengo echo y el efecto que quedaría, yo quise hacer tipo comentarios.
Pero tu para hacerlo como listas debes adecuar tus tables,css como quieras.
Lo de ocultar el texto y mostrar más información, no se como lo harán. Pero se me ocurre que muestres el texto con un substring de 50 caracteres y le sumes 3 puntos suspensivos que sea un link "..." y cuando hagas click sobre "..." le muestres toda la información sin el substring.