Domanda

Attualmente sto usando 3 parti Web collegate (WebPart A collegata a B, B collegata a c). Il problema stabilisce nella connessione tra B e C. WebPart B è un provider e un consumatore e contiene solo un dropbox con alcune variabili. Il selectem da questa casella Dropbox è il valore fornito. Questa è la connessione Provider nel codice che sto usando in WebPart b.

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

Questo è il collegamentoconsumer che sto usando in WebPart c.

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

Nel primo carico della pagina A DropboxValue viene selezionato automaticamente e WebPart C utilizza questa variabile per creare una SPGRIDVIEW con i dati. Ora se cambio questa variabile selezionando un nuovo elemento da Dropbox WebPart C non risponde ad esso. Infatti se eseguo il progetto nel debug, nulla viene chiamato da WebPart c.

Allora perché WebPart c non risponde alle modifiche in WebPart B?

Extra Modifica Ogni volta che modifico laValoma selezionata in WebPart B cambia il suo testo su "Nessuna parte del fornitore connesso". Questo errore è stato creato da me e viene lanciato quando

if (_Provider == null)
.

_Provider è l'interfaccia di WebPart a fornitore.

È stato utile?

Soluzione

L'errore nel mio caso sta utilizzando i creatiChildControls e le funzioni OnPrerender.Ho chiamato il fornitore nei creatiChildcontrols mentre avrebbe dovuto essere chiamato nella funzione OnpreRender.

Se si chiama un WebPart diverso nei createchildControls è possibile che i creatiChildControls di quel WebPart non siano stati avviati.Quando OnPrerender è chiamato tutte le funzioni di createChildControl di tutti i WebParts sono state chiamate.E così al momento in cui Onprerender è chiamato tutti i WebParts sulla pagina corrente scisterà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top