ASP.NET:如何检查我的ListViewItemEventArgs是否为ListItem?

ASP.NET:如何检查我的ListViewItemEventArgs是否为ListItem?,asp.net,vb.net,listview,repeater,Asp.net,Vb.net,Listview,Repeater,在使用中继器时,我可以使用以下代码检查并查看ItemDataBound中的ItemType是否为实际项目 If e.Item.ItemType = UI.WebControls.ListItemType.Item Or e.Item.ItemType = UI.WebControls.ListItemType.AlternatingItem Then ... 如何使用ListView执行相同的操作?我试图用上面同样的方法检查,但没有运气。If语句永远不会执行 谢谢 编辑 Private S

在使用中继器时,我可以使用以下代码检查并查看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

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

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

我相信您希望

 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
这是从这里的文档中提取的:

对于C#语法,很抱歉,但它应该为您指出正确的方向。

我相信您希望

 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
这是从这里的文档中提取的:


抱歉,C#语法错误,但它应该为您指出正确的方向。

您能发布ItemDataBound处理程序源代码吗?也许里面有些简单的东西…@DavidW,是的,等一下。。。起来了!您确定事件本身会触发吗?是的,它实际上会对我的数据源中的每一行执行IF语句。在e.Item.ItemType表达式中返回什么??好奇..你能发布ItemDataBound处理程序源代码吗?也许里面有些简单的东西…@DavidW,是的,等一下。。。起来了!您确定事件本身会触发吗?是的,它实际上会对我的数据源中的每一行执行IF语句。在e.Item.ItemType表达式中返回什么??好奇。。