【问题标题】:how to get one column value in repeater_itemdatabound event?如何在repeater_itemdatabound 事件中获取一列值?
【发布时间】:2011-09-02 01:22:19
【问题描述】:

我在我的 asp.net 应用程序中使用中继器来显示数据库中的记录。绑定到转发器的数据源是数据表的记录。

如何在转发器的 itemdatabound 事件中获取项目的一列值?

我想获得一个名为“id”的列的值。如何在后端的 repeater_itemdatabound 事件中获取它?

【问题讨论】:

    标签: c# asp.net repeater


    【解决方案1】:

    在Repeaters ItemDataBound 事件中,您可以通过e.Item.DataItem 属性提取绑定到项目的对象,然后:

    var item = e.Item.DataItem as MyObject;
    if (item.ID > 0)
       //Do something
    

    【讨论】:

      【解决方案2】:

      在项目数据绑定事件中,您可以访问事件参数(变量 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")
      

      【讨论】:

      • 由于 e.Item.DataItem 缺乏写入功能,您可能必须将其转换为 DataRowView
      • 好电话。我有时会混淆。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 2014-11-26
      • 2021-10-23
      • 2020-10-28
      相关资源
      最近更新 更多