gpt4 book ai didi

asp.net - 在ItemDataBound期间如何访问被数据绑定(bind)的项目?

转载 作者:行者123 更新时间:2023-12-03 23:08:16 25 4
gpt4 key购买 nike

我想在 asp:repeater 的 ItemDataBound 事件期间获取正在数据绑定(bind)的项目。

我尝试了以下方法(这是 stackoverflow question 中不被接受的答案):

protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Object dataItem = e.Item.DataItem;
...
}

但是 e.Item.DataItem一片空白。

如何在名为 ItemDataBound 的事件期间访问正在绑定(bind)数据的项目。我假设 ItemDataBound 事件发生在项目被数据绑定(bind)时。

我想了解对象,以便我可以采取措施控制它的显示方式,此外,该对象可能具有其他有用的属性,可以让我丰富它的显示方式。

回答

Tool有正确的答案。答案是 e.Item.Data仅在 e.Item.ItemType 时有效是(项目,交替项目)。其他时候它是无效的。就我而言,我在没有 DataItem 的页眉(或页脚)行期间收到了 ItemDataBound 事件:
protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// if the data bound item is an item or alternating item (not the header etc)
if (e.Item.ItemType != ListItemType.Item &&
e.Item.ItemType != ListItemType.AlternatingItem)
{
return;
}

Object dataItem = e.Item.DataItem;
...
}

最佳答案

我只是想补充一点,我确实通过执行以下操作完成了这一点:

protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//determine if the row type is an Item
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
DataRowView row = (DataRowView)e.Item.DataItem;
if (row["RowName"].ToString() == "value")
{
//INSERT CODE HERE
}
}
}

关于asp.net - 在ItemDataBound期间如何访问被数据绑定(bind)的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/344047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com