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

时间:2012-09-29 17:31:58

标签: asp.net vb.net listview repeater

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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#语法感到抱歉,但它应该指向正确的方向。