Problème de sélection de webpart sur une page


Bonjour à tous,

Aujourd’hui je vais vous parler d’une erreur que j’ai eue avec une webpart custom.

La webpart possède des propriétés custom qui sont récupérées lors de l’évènement OnInit de la webpart.


protected override void OnInit(System.EventArgs e)

{
// Check/Initialize custom properties
if (this.RowLimit <= 0)
this.RowLimit = 10;
}

Rien de bien compliqué.

Cette webpart était ajoutée à la page d’accueil en 2 exemplaires lors de la création du site.

Aucuns soucis pour la création du site et l’ajout des webparts. Le rendu aussi était correct, bref tout était bon.

Sauf que (oui, il faut bien une raison a cet article !) lorsque nous avons voulu modifier la valeur de cette propriété via l’interface, un étrange comportement est apparu.

En effet si nous voulions modifier la propriété pour la première webpart, aucun soucis, mais quand nous avons voulu modifier la propriété pour la 2ème webpart, nous nous sommes aperçu que c’était la première qui était impactée par la modification !

Scénario identique quand nous voulions déplacer cette 2ème webpart , peut importe le déplacement effectué, c’était la 1ère qui était impactée !

Après une phase de débug, le problème n’apparaissait plus quand la méthode « OnInit » était commentée. Etrange. En réfléchissant un peu, je me suis rappelé que lorsqu’on utilisait un override, il y avait généralement un appel à la fonction de base !

J’ai donc modifié la fonction en ajoutant cet appel de la façon suivante.


protected override void OnInit(System.EventArgs e)
{
base.OnInit(e);
// Check/Initialize custom properties
if (this.RowLimit <= 0)
this.RowLimit = 10;
}

Et la, problème résolu !

En résumé : le OnInit initial d’une webpart doit être préservé afin que l’enregistrement de cette dernière dans le webpartmanager de la page soit correct et garder la possibilité d’avoir plusieurs instance de la webpart dans la même page.

 

Christopher.

 

Cet article, publié dans SharePoint 2010, est tagué , . Ajoutez ce permalien à vos favoris.

Un commentaire pour Problème de sélection de webpart sur une page

  1. Mathieu Galoseau dit :

    Reblogged this on sharepoint 4 fun.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s