什么是标准的ASP.net数据绑定语法?

Ian*_*oyd 5 asp.net data-binding databinder

Microsoft 使用该asp:Repeater控件引入数据绑定提供了获取值的语法:

<b><%# DataBinder.Eval(Container.DataItem, "orderid") %></b>
Run Code Online (Sandbox Code Playgroud)

对ASP.net Repeater控件的其他介绍中重复此语法:

<a href="<%# DataBinder.Eval(Container.DataItem, "URL") %>">...</a>
Run Code Online (Sandbox Code Playgroud)

但我记得这种语法是"坏"和"错误".从我的MSDN文档中DataBinder.Eval看到:

在此输入图像描述 注意

由于此方法执行后期绑定评估,在运行时使用反射,因此与标准ASP.NET数据绑定语法相比,它可能会导致性能明显变慢.

(重点补充)

这就解释了为什么我记得" Eval很糟糕".但什么 "标准的ASP.NET数据绑定语法"?

奖金阅读

Kri*_*use 3

我认为你可以进行强制转换以避免“后期绑定”惩罚:

<%# (((System.Data.DataRowView)Container.DataItem)["URL"]) %>
Run Code Online (Sandbox Code Playgroud)

现在假设您将性能提高了 x%。对于您的应用来说值得吗?(在我看来)权衡是可读性较差。