我想評估綁定到中繼器的當前DataItem,並在條件滿足時將其從刪除中添加。我原以爲把e.Item.DataItem設置爲Nothing就行,但事實並非如此。任何想法如何在特定條件滿足時不將數據項添加到中繼器?如何刪除當前DataItem綁定到ASP.NET Repeater?
Protected Sub rpt_OnItemDataBound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
If true Then
'don't add the current item
e.Item.DataItem = Nothing
Else
'add the current item
End If
End If
End Sub
不幸的是,這是行不通的,這是我真正想要做的。我想很難解釋這種情況。但是我知道在ItemDataBound中做這樣的事情已經太晚了。 – mccrager 2009-12-01 20:15:45
在那種不幸的情況下,如果我有機會,我會將整個'ItemTemplate'包裝在一個面板中,當感興趣的條件滿足時,我會將面板可見性設置爲false。 – 2009-12-01 20:21:31
當然,如果你使用'AlternatingItemTemplate',例如不同的背景顏色,那麼這種方法會搞砸了。爲了解決這個問題,你必須有一個外部計數器,其中包含目前實際可見的項目數量,並且基於'visibleItems%2 == 0'設置背景,但現在它真的開始變髒了。我希望這不是你的情況 – 2009-12-01 20:23:20