在Repeater ItemCommand中访问DataItem对象

时间:2012-05-31 19:18:55

标签: c# asp.net

如何在按钮命令时访问我的Repeater DataItem? 我可以看到DataItem返回null。

有可能吗?

2 个答案:

答案 0 :(得分:1)

在按钮的CommandArgument中设置对象的id。然后在按钮命令事件中,您可以从e.CommandArgument访问id。然后,您可以在域/ db中查询数据。

答案 1 :(得分:0)

您应该确保它不是标题行,您可以看到DataItemnull

您可以通过使用if语句封装代码来执行此操作,只需检查DataItem是否不是null,或者是否使用指定的类型将数据分配给Repeater }}。

或者,您可以按照此处所述检查项目的ListItemTypehttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemdatabound.aspx或此处:ASP.Net repeater item.DataItem is null

然后,您应该可以通过访问e.Item.DataItem对象来访问与ItemDataBound事件中的每个项目相关联的数据。

如果要从控制范围调用的另一个事件(即您提到的按钮点击)访问分配给转发器的数据,您可以使用CommandArgument并为每个项目分配适当的值并处理{ {1}}。