0

使用中继器时,我可以使用以下代码检查并查看 ItemDataBound 中的 ItemType 是否是实际项目...

If e.Item.ItemType = UI.WebControls.ListItemType.Item Or e.Item.ItemType = UI.WebControls.ListItemType.AlternatingItem Then ...

我怎样才能用我的 ListView 做同样的事情?我尝试以与上述相同的方式进行检查,但没有运气。If 语句永远不会被执行。

谢谢!

编辑

  Private Sub ListView_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles ListView.ItemDataBound

        If e.Item.ItemType = UI.WebControls.ListItemType.Item Or e.Item.ItemType = UI.WebControls.ListItemType.AlternatingItem Then

            'This section never executes...

        End If
4

2 回答 2

2

看起来您只是使用了错误的枚举。尝试ListItemViewType枚举,这应该可以解决您的问题。

于 2012-09-29T17:35:29.407 回答
1

我相信你想要

 if (e.Item.ItemType == ListViewItemType.DataItem)
 {
ListItem li = (ListItem)e.Item;

代替:

    If e.Item.ItemType = UI.WebControls.ListItemType.Item Or e.Item.ItemType = UI.WebControls.ListItemType.AlternatingItem Then

这是从这里的文档中获取的:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemdatabound.aspx

对不起 C# 语法,但它应该为您指明正确的方向。

于 2012-09-29T18:27:04.030 回答