Set C# Inline Expressions in ASP.NET Controls On Server-Side

Set C# Inline Expressions in ASP.NET Controls On Server-Side

Is it possible to programatically insert C# Inline Expressions as the
values for ASP.NET Controls in your server-side code?
I'm currently using a DataList to display a lot of data in a table. I want
to be able to dynamically change the columns of that table, so I need to
be able to edit what controls are in its ItemTemplate.
However, in addition to editing the controls in the ItemTemplate, I need
to be able to alter the value that is binded to each control in the
template, because I want to dynamically change what is being displayed.
So what I currently have is a static table that doesn't change:
<asp:DataList ID="dataList" runat="server"
OnSelectedIndexChanged="dataList_OnSelectedIndexChanged"
DataSourceID="peopleData">
<ItemTemplate>
<table>
<tr>
<td>
<asp:LinkButton ID="NameLink"
OnClientClick="onPageUpdate()" CommandName="Select"
Text='<%# Eval(this.Name) %>' ForeColor='<%#
Eval("this.NameColor") %>' runat=Server" />
</td>
<td>
<asp:Label Text='<%# Eval("this.Values[\"Age\"]") %>'
ForeColor='<%# Eval("this.ValueColors[\"Age\"]") %>'
runat="Server">
</td>
// OTHER COLUMNS WITH DIFFERENT DATA
</tr>
</table>
</ItemTemplate>
</asp:DataList>
// OBJECT DATA SOURCE CODE
I know how to dynamically add Controls to the ASPX web page. However, I
don't know how to add the inline expressions.
Is there a way of achieving this or doing something similar?
My only other option that I can think of right now is to scrap using the
DataList and ItemTemplate and just generate each row myself.. That's a lot
more coding versus just using the ItemTemplate.
Thanks!