La partie Web des consommateurs ne répond pas aux modifications de la partie Web du fournisseur

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/54001

  •  10-12-2019
  •  | 
  •  

Question

J'utilise actuellement 3 pièces Web connectées (WebPart A connectées à B, B connectées à c). Le problème repose dans la connexion entre B et C. WebPart B est un fournisseur et un consommateur et contient uniquement une liste déroulante avec des variables. Le SELECTELITEM de cette liste déroulante est la valeur fournie. Ceci est le connecteurProvider dans le code que j'utilise dans WebPart b.

[ConnectionProvider("DropboxValue", "dbv")]
public IDropBoxValue provider()
{
     return this;
}

Ceci est le ConnectionConsumer J'utilise dans WebPart c.

[ConnectionConsumer("DropboxValue", "dbv")]
public void consumer(IDropBoxValue providerInterface)
{
     _provider = providerInterface;
}

sur la première charge de la page A DropboxValue est automatiquement sélectionnée et WebPart C utilise cette variable pour créer un SpgridView avec des données. Maintenant, si je modifie cette variable en sélectionnant un nouvel élément à partir du WebPart C Dropbox ne répond pas à celui-ci. En fait, si je gère le projet de débogage, rien n'est appelé de WebPart c.

Alors pourquoi WebPart C ne répond pas aux modifications de WebPart B?

EXTRA EDIT Chaque fois que je modifie la société sélectionnée dans WebPart B, il modifie son texte sur "Aucun élément Web fournisseur connecté". Cette erreur est créée par moi et est lancée quand

if (_Provider == null)

_Provider est l'interface de WebPart un fournisseur.

Était-ce utile?

La solution

L'erreur dans mon cas dispose à l'aide des fonctions de CreateChildControls et d'ONPRERender.J'ai appelé le fournisseur dans les CreatechildControls alors qu'il aurait dû être appelé dans la fonction onprerender.

Si vous appelez un WebPart différent dans le CreateChildControls, il est possible que les CreateChildControls de ce WebPart n'ont pas été initiés.Lorsque ONPRERENDER s'appelle toutes les fonctions de CreatechildControl de tous les webparts ont été appelées.Et donc au moment où l'on appelle que les webparts sur la page actuelle excluent.

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