Sac*_*hag 21
本文可能会帮助您理解.引用:
那么这个表达到底是什么?<%#%>表示这是一个DataBinding表达式,而Container.DataItem是数据源中当前项的别名.换句话说,如果要绑定到对象集合,则Container.DataItem是该集合的当前行.
此博客条目提供有关何时使用的帮助.引用:
Container.DataItem是绑定列表中此特定项的DataItem的运行时别名.对于显示10行数据的网格,这是数据源中的一行.DataItem的实际类型由数据源的类型决定.例如,如果数据源是Dataview,则DataItem的类型是DataRowView.如果数据源的类型是字符串数组,则DataItem的类型为String.如果数据源是强类型对象的集合(例如"Employees"对象),则DataItem的类型是Employees.
这些情况中的每一种都需要稍微不同的数据绑定表达式,VB和C#之间存在进一步的差异.
我在尝试Container.DataItem从隐藏代码内部访问的上下文中遇到了相同的问题。Container在aspx/ ascx代码中存在,但在后面的代码中不存在。通过查看生成的C#代码,我看到它是BindingContainer对绑定的特定控件的强制转换引用。
的等效代码隐藏代码Container.DataItem是这样的:
var ddl = (DropDownList) source;
var dataItem = ((RepeaterItem) ddl.BindingContainer).DataItem;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27184 次 |
| 最近记录: |