Оберните PlaceHolder
элемент управления вокруг всего содержимого ItemTemplate
.
Затем в вашем событии ItemDataBound вы можете сделать что-то вроде:
Protected Sub myDataList_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataListItemEventArgs) Handles myDataList.ItemDataBound
If Not Value = Value2 Then
Ctype(e.Item.FindControl("myPlaceHolder"), PlaceHolder).Visible = False
End If
End Sub
Aлучший подход (однако у меня не было возможности протестировать его) - скрыть весь элемент, используя e.Item.Visible
.Таким образом, элементы HTML не будут отображаться для элемента.Это также означало бы, что PlaceHolder
не нужно будет добавлять.
Protected Sub myDataList_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.DataListItemEventArgs) Handles myDataList.ItemDataBound
If Not Value = Value2 Then
e.Item.Visible = False
End If
End Sub
В качестве альтернативы, если проверяемые значения взяты из источника базы данных, вы можете отфильтровать элементы перед привязкой:
WHERE Value=@Value2