Microsoft's introduction to data-binding using the asp:Repeater
control gives the syntax to fetch a value:
<b><%# DataBinder.Eval(Container.DataItem, "orderid") %></b>
This syntax is repeated on other introductions to the ASP.net Repeater
control:
<a href="<%# DataBinder.Eval(Container.DataItem, "URL") %>">...</a>
But i remember this syntax being "bad" and "wrong". From the MSDN documentation of DataBinder.Eval
i see:
Note
Because this method performs late-bound evaluation, using reflection at run time, it can cause performance to noticeably slow compared to standard ASP.NET data-binding syntax.
(emphases added)
So that explains why i had a memory of "Eval
is bad". But what is the "standard ASP.NET data-binding syntax"?
I think you can just do a cast to avoid the "late binding" penalty:
Now let's say you increase performance by x%. Is it worth it to your application? The trade-off (in my opinion) is less readability.