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数据绑定语法"?
我认为你可以进行强制转换以避免“后期绑定”惩罚:
<%# (((System.Data.DataRowView)Container.DataItem)["URL"]) %>
Run Code Online (Sandbox Code Playgroud)
现在假设您将性能提高了 x%。对于您的应用来说值得吗?(在我看来)权衡是可读性较差。
| 归档时间: |
|
| 查看次数: |
2526 次 |
| 最近记录: |