If you're looking for a dynamic way to display data in your application, consider using the ListView control that was introduced with DotNet framework 3.5.
The ListView is template-driven, meaning it won't render anything by default. You'll need to specify the HTML you want to show through templates (be sure to define what should be displayed within the LayoutTemplate).
To see how to implement this, check out the code project link provided below.
http://www.codeproject.com/KB/webforms/CompleteListView.aspx
You can also watch a helpful video on the ListView control from MSDN:
http://www.asp.net/aspnet-35/videos/the-listview-control
UPDATE: If you're working with DotNet Framework 2.0, consider using a Repeater server control instead.
The Repeater control doesn't have predefined layouts or styles; everything must be explicitly defined within its templates.
However, if you need features like paging and sorting, using the ListView which is an updated version of the Repeater may be more suitable.
I hope this information is useful for you.