Bonjour à tous.

J'ai séché comme un couillon pendant deux heures sur un bug et j'ai pas compris pourquoi. Alors je vous soumet le cas.

Je place un Repeater comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<asp:Repeater ID="rpComment" runat="server">
    <ItemTemplate>
        <asp:Image ID="imgComment" runat="server" />
        <asp:HyperLink ID="hlUser" runat="server"></asp:HyperLink>
        <asp:Label ID="lblComment" runat="server"></asp:Label>
    </ItemTemplate>
    <SeparatorTemplate><hr /></SeparatorTemplate>
</asp:Repeater>
Pour le remplir je mets ça dans le code Behind, dans le Init de la page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        Dim dt As DataTable = New DManager("DataDev").RetournerTable("EXEC dbo.ListeCommentDealz " & Request.QueryString("id"))
        With rpComment
            .DataSource = dt
            .DataBind()
        End With
    End Sub
Et ça pour faire les éléments :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Protected Sub rpComment_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rpComment.ItemDataBound
        Dim img As Image = CType(e.Item.FindControl("imgComment"), Image)
        Dim hl As HyperLink = CType(e.Item.FindControl("hlUser"), HyperLink)
        Dim lbl As Label = CType(e.Item.FindControl("lblComment"), Label)
        With lbl
            .Text = DataBinder.Eval(e.Item.DataItem, "Commentaire")
            .CssClass = ""
        End With
        With img
 
        End With
        With hl
            .NavigateUrl = '"/Navigation/UserFile.aspx?mode=vendeur&id=" & DataBinder.Eval(e.Item.DataItem, "UserClient").ToString
            .Text = DataBinder.Eval(e.Item.DataItem, "UserName")
        End With
 
    End Sub
Comme vous le constatez, rien d'ésotérique. Et bien j'ai ça qui apparait :
La référence d'objet n'est pas définie à une instance d'un objet.
en indiquant la ligne qui charge le Text du Label.
Et si j'enlève le ItemSeparator, tout va bien !

J'ai relu la MSDN et j'ai pas trouver d'où vient le souci.

Une idée ?