Dynamic Templates for the Repeater, DataList and DataGrid Controls
This article explains why a single template hard-coded at design-time is not always the best option when using DataGrid, DataList and Repeater controls that must generate different outputs according to the logged-in user, a user's choice, or any other condition. It then provides detailed solutions to implement dynamic templates, by writing external user controls, or classes that implement the ITemplate interface.
by Marco Bellinaso
December 22, 2003
ost
of the time, when you add a Repeater, DataList or DataGrid control on the
page, you hardcode their templates: you know the data you want to show, and
to do this you declare Literal, Label, CheckBox and any other type of control
with bindable properties, or simply add static HTML and binding expressions.
This is fine as long as you have to render only one view of the data, but
what happens when you want to use the same template-based control (i.e. one
of the controls mentioned above) for showing different data, according to
the currently logged-in user? Suppose for example that you have to build a
report page for the Northwind’s Employees table, and want to show the complete
employee’s information (name, full mailing address, salary etc.) if the current
user is an Administrator, or just the employee’s name and title otherwise,
so to protect their privacy from non-authorized people. Another example: you
may want to provide Edit and Delete buttons to each row when the user is an
Administrator, but of course not for the normal user.
It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com. Already a member?
To become a member of DevX.com create your Member Profile by completing the form below. Membership is free!