如何在按钮命令时访问我的Repeater DataItem? 我可以看到DataItem返回null。
有可能吗?
答案 0 :(得分:1)
在按钮的CommandArgument中设置对象的id。然后在按钮命令事件中,您可以从e.CommandArgument访问id。然后,您可以在域/ db中查询数据。
答案 1 :(得分:0)
您应该确保它不是标题行,您可以看到DataItem
是null
。
您可以通过使用if
语句封装代码来执行此操作,只需检查DataItem
是否不是null
,或者是否使用指定的类型将数据分配给Repeater
}}。
或者,您可以按照此处所述检查项目的ListItemType:http://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}}。