[英]Exit Sub for a repeater in ItemDataBound
我希望在第四次迭代時退出rpt.ItemDataBound函數,但是當我完成時:
Protected Sub rptCol_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles rptCol.ItemDataBound
If Not e.Item.ItemType = ListItemType.AlternatingItem AndAlso Not e.Item.ItemType = ListItemType.Item Then Exit Sub
If e.Item.ItemIndex = 4 Then
Exit Sub
End If
..
它不起作用,他只是跳過這個迭代。
有任何想法嗎 ? 謝謝
就像@Marcus所說的那樣,迭代將繼續,因為每一行都會調用它。
嘗試不同的方法。 在綁定到轉發器之前更改數據源。 像這樣的東西:
//I am assuming your datasource is a List, but this works for a datatable, etc
List<[YOUR CLASS]> datasource = MethodThatGetsYourSource();
rptCol.DataSource = datasource.Take(4);
rptCol.DataBind();
Private Sub ForceStopAfterFirstBind(sender As Object, e As RepeaterItemEventArgs)
If e.Item.ItemIndex > 3 Then
e.Item.Controls.Clear()
End If
End Sub
這樣稱呼它:
ForceStopAfterFirstBind(sender, e)
我認為你需要嘗試itemCreadedOnDatabound事件
迭代將繼續,因為將繼續為每一行調用事件處理程序。 如果想在某一行之后跳過邏輯,你可以這樣做:
Protected Sub rptCol_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles rptCol.ItemDataBound
If Not e.Item.ItemType = ListItemType.AlternatingItem AndAlso Not e.Item.ItemType = ListItemType.Item Then Exit Sub
If e.Item.ItemIndex > 3 Then
Exit Sub
End If
.....
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.