【发布时间】:2011-09-02 01:22:19
【问题描述】:
我在我的 asp.net 应用程序中使用中继器来显示数据库中的记录。绑定到转发器的数据源是数据表的记录。
如何在转发器的 itemdatabound 事件中获取项目的一列值?
我想获得一个名为“id”的列的值。如何在后端的 repeater_itemdatabound 事件中获取它?
【问题讨论】:
我在我的 asp.net 应用程序中使用中继器来显示数据库中的记录。绑定到转发器的数据源是数据表的记录。
如何在转发器的 itemdatabound 事件中获取项目的一列值?
我想获得一个名为“id”的列的值。如何在后端的 repeater_itemdatabound 事件中获取它?
【问题讨论】:
在Repeaters ItemDataBound 事件中,您可以通过e.Item.DataItem 属性提取绑定到项目的对象,然后:
var item = e.Item.DataItem as MyObject;
if (item.ID > 0)
//Do something
【讨论】:
在项目数据绑定事件中,您可以访问事件参数(变量 e) e.Item.DataItem 是当前正在绑定的记录。请务必将其转换为 DataRow 或被绑定集合中项目的任何类型。
您可以访问 ID 列
Dim dr As System.Data.DataRow = DirectCast(e.Item.DataItem, System.Data.DataRow)
Dim id As Int64 = dr("ID")
【讨论】:
DataRowView