y a un truc spécial avec le SeparatorTemplate d'un Repeater ?
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:
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:
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:
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 :
Citation:
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 ?