Templated Controls
The data-bound controls you’ve seen thus far all tightly bind individual values retrieved from a data source into a list item or table cell. You can use a TemplateField
(within a DetailsView
or GridView
) to control exactly how that value is displayed within that cell, but it will remain contained within that cell.
ASP.NET provides a complementary set of controls to those we’ve covered so far, which use templates exclusively to broaden the idea of one field per cell. Instead, you can use them to determine how whole rows of data rather than just fields are to be displayed. And rather than just confining that display of one data row to one table cell or one list item, two of the controls go a step further and allow you to define templates for the HTML markup that will surround the data.
The
DataList
control’s templates define how a row of data will be shown within a list of data.The
FormView
control’s templates define how a row of data is shown on its own page, akin to theDetailsView
.The
Repeater
andListView
controls are “lookless.” Templates for these controls let you control everything regarding how rows of data are displayed and within which structure.
Table 8-14 summarizes the differences between the four controls and the GridView
for comparison.
Table 8-14. Comparing template controls and the GridView
Feature | GridView | DataList | FormView | Repeater | ListView |
---|---|---|---|---|---|
Table layout | Yes | Yes | Yes | No | No |
Flow layout | No | Yes | No | Yes | Yes |
Column layout | No | Yes | No | No | No |
Style properties | Yes | Yes | Yes | No | No |
Templates | Columns/optional ... |
Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.