What is the standard ASP.net data binding syntax?

asp.net, data-binding, databinder

Solution

I think you can just do a cast to avoid the "late binding" penalty:

<%# (((System.Data.DataRowView)Container.DataItem)["URL"]) %>

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.

Problem

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"? Bonus Reading - Data-Binding Expression Syntax

Original source