Partager via


Programmation côté client avec le WPSC

Dernière modification : vendredi 30 mai 2008

S’applique à : SharePoint Foundation 2010

Dans cet article
Conflits de noms
Utilisation de jetons
Faire référence à des composants WebPart avec varPart et WebPart
Références à des éléments dans un formulaire

Le Web Part page Services Component (WPSC) est un modèle objet qui permet d'écrire un script pour une page de composants WebPart et les composants WebPart qu'elle contient. Lorsque le client accède à une page de composants WebPart pour la première fois, le composant WPSC est ajouté sur l'ordinateur client. Ce composant s'applique aux composants WebPart dérivés de la classe Microsoft.SharePoint.WebPartPages.WebPart, mais pas aux composants WebPart dérivés de la classe System.Web.UI.WebControls.WebParts.WebPart d'ASP.NET.

Conflits de noms

Lorsque vous écrivez un script avec le WPSC, utilisez des espaces de noms uniques ou des jetons pour éviter les conflits de noms. Vous pouvez utiliser des espaces de noms ou des jetons pour des événements, des noms, des messages et des états de composants WebPart afin d'éliminer les risques de conflits de noms. Vous pouvez également utiliser des variables et des éléments fournis par l'infrastructure de composants Web Part SharePoint Foundation lorsque la page est rendue.

Utilisation de jetons

Les jetons sont des espaces réservés pour les valeurs qui peuvent être déterminées au moment de l'exécution. Vous pouvez ajouter des jetons prédéfinis à des entités nommées dans votre code pour simplifier les scripts et éviter les conflits de noms. Au moment du rendu, l'infrastructure de composants WebPart SharePoint Foundation remplace les jetons par les valeurs jusqu'à ce que tous les jetons de la page soient remplacés. Les jetons respectent la casse et ils peuvent apparaître n'importe où dans le nom (autrement dit, comme un préfixe, un suffixe ou au milieu d'une variable).

Le remplacement de jetons est l'une des meilleures stratégies permettant d'éviter les conflits de noms. Au moment de la conception, vous pouvez ajouter un jeton aux noms des composants WebPart, au contenu incorporé ou au contenu lié. Au moment de l'exécution, l'infrastructure de composant WebPart remplace ce jeton par une valeur générée qui garantit l'attribution d'un nom unique à l'élément en question. Par exemple, vous pouvez inclure _WPQ_ comme préfixe aux ID HTML et aux noms de fonctions. Au moment du rendu, l'infrastructure de composant WebPart convertit cette chaîne littérale au moyen de la propriété WebPartQualifier.

Le tableau suivant répertorie les jetons prédéfinis dans l'ordre alphabétique.

Nom du jeton

Valeur de remplacement

_LogonUser_

Valeur récupérée à partir de Request.ServerVariables("LOGON_USER") dans une page ASPX. Cette valeur contient en général le nom de domaine et d'utilisateur du client et peut servir pour l'identification de l'utilisateur dans un intranet.

_WPID_

GUID d'une instance de composant WebPart au format g_, par exemple, g_632c887a_20ba_4e6d_98eb_7404ee4841f. Ce jeton fournit un ID unique dans la page.

_WPQ_

ID unique d'un composant WebPart dans une page de composants WebPart. Vous pouvez utiliser ce jeton pour qualifier les ID HTML et les noms des fonctions de script afin d'éviter les conflits de noms.

_WPR_

URL du dossier de ressources pour le composant WebPart sur le serveur, et non sur le client.

Faire référence à des composants WebPart avec varPart et WebPart

Lorsqu'une page de composants WebPart est rendue, les composants WebPart se voient affectés des variables et des identificateurs d'élément par le service Web WebPartPage. Vous pouvez faire en sorte que les composants WebPart se fassent référence à eux-mêmes en utilisant ces variables et ces identificateurs d'élément en combinaison avec des jetons dans le script côté client.

varPart

Vers la fin du processus de téléchargement de la page de composants WebPart, chaque composant WebPart de la page reçoit une variable (par exemple, varPartWPQ1). Cette variable pointe vers l'objet WPSC Part pour le composant WebPart. Un composant WebPart peut utiliser cette variable pour se faire référence à lui-même dans le contenu incorporé à l'aide du jeton _WPQ_. Bien qu'il soit possible de coder en dur la variable (par exemple, voir varPartWPQ2 dans le code au lieu de varPart_WPQ_), vous risquez de rencontrer des difficultés lorsque le qualificateur de composant WebPart change. Rien ne garantit que le qualificateur de composant WebPart d'un composant WebPart reste inchangé lorsque la page de composants WebPart change. L'ajout et la modification des composants WebPart peuvent affecter l'ordre des composants dans le stockage, ce qui peut avoir une incidence sur le qualificateur de composant WebPart et sur la valeur représentée par le jeton _WPQ_. Il est préférable d'utiliser le jeton _WPQ_ dans la mesure du possible.

WebPart

Lorsque la page de composants WebPart est chargée, le composant WebPart est rendu sur la page comme un élément DIV. Cet élément reçoit un identificateur par l'infrastructure de composant WebPart (par exemple, WebPartWPQ1). Vous pouvez utiliser cet identificateur pour manipuler le modèle DOM HTML pour le composant WebPart en combinant WebPart avec le jeton _WPQ_. Par conséquent, le composant WebPart peut faire référence à sa propre structure HTML en utilisant WebPart_WPQ_. Soyez prudent lors de la manipulation du modèle DOM HTML d'une page de composants WebPart. Les modifications apportées à la structure DOM du composant WebPart ou de la page de composants WebPart proprement dite peuvent affecter le comportement de votre navigateur. L'utilisation la plus sûre et la plus courante de WebPart_WPQ_ consiste à manipuler la propriété innerHTML pour le composant WebPart ou pour les éléments à l'intérieur du composant WebPart. Vous pouvez utiliser un script pour mettre à jour la propriété innerHTML avec les données générées par le script.

Références à des éléments dans un formulaire

Tous les composants WebPart dans une page de composants WebPart sont contenus dans un formulaire. Cela est dû au fait que les pages de composants WebPart sont essentiellement des pages ASPX. Le HTML requiert que chaque élément dans un formulaire soit précédé d'un ID de formulaire ou référencé par document.all. Voici un exemple court :

<form id="MyForm">
<input type="text" id="MyText">
<input type="button" id="MyButton" onclick="buttonClicked">

<script>
function buttonClicked()
{
   MyForm.MyText.value="Hello World!";
}
</script>
</form>

La ligne de code dans cette fonction peut également ressembler à ce qui suit :

document.all("MyText").value="Hello World!";

L'une des ces deux options est acceptable.

Notes

Un problème se pose uniquement si une balise <Input> est utilisée.

Voir aussi

Concepts

Prise en charge des événements système standard

Flux de données WPSC

Services WPSC

Autres ressources

WPSC, modèle objet