簡體   English   中英

在ItemDataBound中退出Sub以獲取轉發器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM