listview & itemplaceholder
bonjour,
J'ai une liste view et j'essai de générer dynamiquement mon layouttemplate et itemtemplate.
Pour ce faire, j'ai créé des classes itemtemplate et layouttemplate pour sur interface ITemplate.
Je place mon code dans la méthode InstantiateIn.
Au chargement de la page, je déclare des nouveau template pour la listview
Mon problème, c'est le "itemPlaceholder" qui doit être présent dans le layout..
Lorsque je lance ma page, la listview et les templates sont opérationnels mais lorsque je recharge ou valide un bouton etc. j'ai le message d'erreur :
Citation:
Un espace réservé d'élément doit être spécifié dans le ListView 'LV_Essai'. Spécifiez un espace réservé d'élément en affectant la valeur "itemPlaceholder" à la propriété ID d'un contrôle. Le contrôle d'espace réservé d'élément doit également spécifier runat="server"
J'ai regardé et essayer différentes choses vu sur le net mais sans effet..
Merci
Voici mon code :
classe layout :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Imports Microsoft.VisualBasic
Imports System
Imports System.Web
Imports System.Web.UI
Public Class LayoutTemplate
Implements ITemplate
Public Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim table = New HtmlGenericControl("table") With { _
.ID = "itemPlaceholderContainer" _
}
' OBLigé de mettre un id itemplaceholder sur un élément
Dim tr = New HtmlGenericControl("tr") With { _
.ID = "itemPlaceholder" _
}
Dim MyColumns As New List(Of Colonne)
MyColumns = GestionParametres.GetColonnesXML()
For Each col As Colonne In MyColumns
Dim th = New HtmlGenericControl("th") With { _
.InnerText = col.Intitule _
}
table.Controls.Add(th)
Next
table.Controls.Add(tr)
container.Controls.Add(table)
End Sub
End Class |