Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SPS 2003 FR SP1] Dev Webpart : initialisation de Custom properties

4 réponses
Avatar
Nicolas
Bonjour,

Dans un des webparts que je développe, j'ai créé une propriétés personnels.
Je souhaiterais l'initialiser la toute première fois lorsque l'utilisateur dépose le
webpart sur une page.
Ensuite, la propriété sera stocké par sharepoint.

Qu'elle est selon vous, la manière de faire pour que cette initialisation ne se fasse
qu'une seule fois.

Actuellement, je fais l'initialisation dans le constructeur du webpart.
Voici mon code :

public WPListe () {
SPWeb web = SPControl.GetContextWeb(this.Context);
this.UrlPortalSite = web.Url.ToString();
}

--

Merci d'avance pour votre aide.

Cordialement.
Nicolas COLLET.

4 réponses

Avatar
Renaud COMTE [MVP]
De retour

jetez un oeil sur http://www.15seconds.com/issue/040218.htm

il faut définir des atttributs à votre propertie,
Exemple ;

///<summary>
/// Default property available form the template
///</summary>

[Browsable(true),Category("Miscellaneous"),
DefaultValue(defaultText),

WebPartStorage(Storage.Personal),

FriendlyName("Text"),Description("Text Property")]


"Nicolas" a écrit :

Bonjour,

Dans un des webparts que je développe, j'ai créé une propriétés personnels.
Je souhaiterais l'initialiser la toute première fois lorsque l'utilisateur dépose le
webpart sur une page.
Ensuite, la propriété sera stocké par sharepoint.

Qu'elle est selon vous, la manière de faire pour que cette initialisation ne se fasse
qu'une seule fois.

Actuellement, je fais l'initialisation dans le constructeur du webpart.
Voici mon code :

public WPListe () {
SPWeb web = SPControl.GetContextWeb(this.Context);
this.UrlPortalSite = web.Url.ToString();
}

--

Merci d'avance pour votre aide.

Cordialement.
Nicolas COLLET.





Avatar
Renaud COMTE [MVP]
De retour

jetez un oeil sur http://www.15seconds.com/issue/040218.htm

///<summary>
/// Default property available form the template
///</summary>
[Browsable(true),Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),Description("Text Property")]

l'attribut WebPartStorage devrait bien vous aider

WebPartStorage
*Storage.Shared: Display in property pane when the user is in shared view
of the page.
*Storage.Personal: Displays when the user is in shared OR personal view of
the page.
*Storage.None: Does not persist the setting of the property and will not
display in the property pane.


Voila voila

Renaud COMTE [MVP]
Avatar
Nicolas
Bon je pense avoir mal posé ma question, donc je vais essayer de redéfinir mon "problème".

J'utilise déjà les attributs en question, mais par contre, je souhaite prédéfinir la
valeur de l'attribut une toute première fois.
La valeur par défaut de la propriété n'est pas une valeur statique mais qui dépend de la
page sur laquelle se trouve le webpart.

Donc si j'ai bien tout compris, le code qui se trouve dans le constructeur de mon webpart
va toujours être éxécuté. La valeur de ma propriété va être stocké par sharepoint grace a
l'attribut WebPartStorage mis a Storage.Shared (valeur partagé pour tous les utilisateurs
pour l'instance du webpart).

Ce que je souhaite c'est de détecter la première fois que le webpart est créé (mis sur la
page) afin de pouvoir initialiser ma propriété puis par la suite, je souhaite que ce code
d'initialisation ne soit plus jamais éxécuté.

Est-ce que c'est possible ?

J'espère avoir été un peu plus clair.

--
Cordialement.
Nicolas COLLET.

"Renaud COMTE [MVP]" a écrit dans le message de news:

De retour

jetez un oeil sur http://www.15seconds.com/issue/040218.htm

///<summary>
/// Default property available form the template
///</summary>
[Browsable(true),Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),Description("Text Property")]

l'attribut WebPartStorage devrait bien vous aider

WebPartStorage
*Storage.Shared: Display in property pane when the user is in shared view
of the page.
*Storage.Personal: Displays when the user is in shared OR personal view of
the page.
*Storage.None: Does not persist the setting of the property and will not
display in the property pane.


Voila voila

Renaud COMTE [MVP]



Avatar
Renaud COMTE [MVP]
Je ne vois pas réellement le probléme ?

Prenez la WP "editeur de contenu"
sa propriété "source HTML" est vide à l'inti donc il affiche un message avec un lien vers l'admin







Un fois du source html saisie , il l'affiche

faites juste un test sur la valeur de votre propriété dans votre constructeur et modifiez le render au besoin







Voila

Renaud COMTE [MVP]


"Nicolas" a écrit :

Bon je pense avoir mal posé ma question, donc je vais essayer de redéfinir mon "problème".

J'utilise déjà les attributs en question, mais par contre, je souhaite prédéfinir la
valeur de l'attribut une toute première fois.
La valeur par défaut de la propriété n'est pas une valeur statique mais qui dépend de la
page sur laquelle se trouve le webpart.

Donc si j'ai bien tout compris, le code qui se trouve dans le constructeur de mon webpart
va toujours être éxécuté. La valeur de ma propriété va être stocké par sharepoint grace a
l'attribut WebPartStorage mis a Storage.Shared (valeur partagé pour tous les utilisateurs
pour l'instance du webpart).

Ce que je souhaite c'est de détecter la première fois que le webpart est créé (mis sur la
page) afin de pouvoir initialiser ma propriété puis par la suite, je souhaite que ce code
d'initialisation ne soit plus jamais éxécuté.

Est-ce que c'est possible ?

J'espère avoir été un peu plus clair.

--
Cordialement.
Nicolas COLLET.

"Renaud COMTE [MVP]" a écrit dans le message de news:

> De retour
>
> jetez un oeil sur http://www.15seconds.com/issue/040218.htm
>
> ///<summary>
> /// Default property available form the template
> ///</summary>
> [Browsable(true),Category("Miscellaneous"),
> DefaultValue(defaultText),
> WebPartStorage(Storage.Personal),
> FriendlyName("Text"),Description("Text Property")]
>
> l'attribut WebPartStorage devrait bien vous aider
>
> WebPartStorage
> *Storage.Shared: Display in property pane when the user is in shared view
> of the page.
> *Storage.Personal: Displays when the user is in shared OR personal view of
> the page.
> *Storage.None: Does not persist the setting of the property and will not
> display in the property pane.
>
>
> Voila voila
>
> Renaud COMTE [MVP]
>