Question

J'ai 3 WebParts qui ensemble créeront une table avec des données dedans. Les webparts fonctionnent comme suit: LOGINWP: Un utilisateur peut saisir le nom d'utilisateur et le mot de passe dans 2 Textfields, puis cliquez sur un bouton de connexion. Cela active la fonction de connexion. Ce WebPart fournira maintenant un ticket utilisé pour vérifier si l'utilisateur est connecté.

MaqueTewP: Cette partie Web s'active lorsque LoginWP peut fournir un WebPart et utiliser ce ticket de connexion pour obtenir des types de documents et les charger dans une combinaison de comboBoxList. Si un type de document est sélectionné, cette webpart fournira maintenant à la fois le ticket et le type de document.

TableWP: Cette partie Web s'active lorsque MaqueTeWP fournit à la fois un ticket et un type de document. Il utilise les deux variables pour charger des données dans la table.

Lorsque le bouton de connexion est cliqué sur Codewp sélectionnera automatiquement un premier type de document et activez ainsi la tableWP. Jusqu'à présent, tout fonctionne comme prévu. Maintenant, lorsque je sélectionne un élément différent de la combinaison de ComboBoxList, la machine-semaine perdra LoginWP en tant que fournisseur et perdra donc son fournisseur.

Après que certains débogage, j'ai réussi à découvrir que les CreatechilControls () de la machine à lettres sont appelés lorsque je modifie le ComboBoxItem sélectionné. Dans ce CreatechildControls, il vérifie si le fournisseur de LoginWP exciste. À ce stade, la fonction ne cesse pas. La prochaine fonction appelée est la créationChîtControls du loginwp et crée le fournisseur Maqueton cherchait.

Donc, ma question est la suivante: comment puis-je empêcher le loginwp de se recréer lorsque je change l'élément sélectionné dans la variable ComboBox ou puis-je enregistrer la variable de ticket ailleurs afin qu'il soit disponible aussi longtemps que l'utilisateur est sur la page?

Était-ce utile?

La solution

J'ai tracé l'erreur de retour et j'ai utilisé le

CreateChildControls()

et le

OnPreRender()

fonctionne mal, ce qui entraîne l'erreur.J'ai vérifié le fournisseur à l'intérieur de la fonction CreateChildControl.Mais puisque la fonction CreatecheControl du fournisseur n'était pas encore appelée, cela ne pouvait pas le trouver.Déplacement de la vérification et de l'appel de variable à Onprerender a résolu l'erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top