mhilout a dit :
lblContent.EditEnabled =Me.IsEditable
Virer du page_load tout ce qui concerne l'EditLabel DNN lblContent, qui doit faire parti du template maintenant, donc de toute façon VS.Net ne doit plus en vouloir faute de déclaration dans l'ascx.
D'autre part, je pense qu'il est oportun de ne pas s'encombrer avec l'édition en ligne -> EditEnable = false directement dans l'ascx.
mhilout a dit :
lblContent.Controls.Add(
New LiteralControl(DotNetNuke.Common.Globals.ManageUploadDirectory(strContent, PortalSettings.HomeDirectory))
La, au lieu de créer le literal, récupérer le résultat de la fonction ManageUploadDirectory... dans une variable de type String.
Il s'agit du contenu à diviser en pages. Faire donc cette division.
Une fois muni d'un enumerable de String (List(Of String) pour faire simple) correspondant aux pages, le définir comme datasource du contrôle composite (GridView/ListView), et appeler DataBind sur ce même contrôle.
Ensuite, déclarer l'évenement OnItemDatabound toujours sur ce contrôle (listes déroulantes évenementielles dans VS.Net pour le trouver et rajouter la méthode dans le codebehind)
Dans le Sub correspondant, récupérer un DirectCast(e.Item.FindControl("IdDuContainerDansLeTemplate"), TypeDuContainer) dans une variable contentHolder.
Récupérer un DirectCast(e.Item.DataItem, String) dans une variable pageContent
Puis faire contentHolder.Controls.Add( New LiteralControl(pageContent))
Il faut également activer la pagination dans le contrôle composite et donc récupérer l'évenement OnPagedChanging, ce qui est obligatoire, mais pas grand chose à mettre dans la méthode, puisque le page_load se charge du boulot, uniquement tenir compte de la nouvelle page. Enfin il me semble que ca peut marcher comme ca, sinon extraire le code de chargement et databinding du html dans une méthode appelée depuis la page_load dans un if Not Me.IsPostBack (premier chargement de la page uniquement) et rappelée a nouveau dans la procédure traitant chaque changement de page.
Le tour est joué.
Bon forcément, le forum dnn.fr n'est pas le meilleur IDE qu'on connaisse donc c'est un peu brouillon comme ça, mais bon l'idée y est.