Frage

Ich brauche die einige dynamischen Kontrollen an Page_Load im Consumer webpart zu erstellen. Im Provider webpart habe ich einige Hacking und bekam es so konnte ich einen Kontrollen Wert erhalten, bevor Ansichtszustand in Page_Init geladen wird.

Also im Grunde, was ich will, ist für webparts vor Page_Load kommunizieren können.

[ConnectionConsumer("FormRID Consumer","FormRIDConsumer")]
public void InitializeProvider(MyControl.IFormRID provider)
{
    theProvider = provider;
    FormRID = theProvider.FormRID;
}

Das Verfahren erhalten erst nach Page_Load aufgerufen. Dies ist ein großes Problem für mich, weil meine Verbraucher Page_Load hängt von FormRID gesetzt und genau ist. Ich kann nicht meinen Page_Load Code in Page_LoadComplete bewegen, entweder weil ich dynamische Kontrollen mit Ansichtszustand erstellen bin benötigen (Ansichtszustand wird nach Page_Load nicht gestellt)

So gibt es einige Arbeit um ich so verwenden kann, dass ich vor Page_Load kommunizieren kann.

War es hilfreich?

Lösung 3

Am Ende habe ich meine eigene webpart Kommunikation zu schaffen.

Es endete viel sauberer als ASP.Net ist und die Kommunikation kann so früh wie OnInit innerhalb der webparts passieren.

Andere Tipps

Haben Sie versucht, Ihre Anmeldung zu der Web-Teil Init-Ereignis der Zone und Vergeben Ihres InitializeProvider (es)? Ich glaube, es vor dem OnLoad gebrannt wird oder Ereignisse von Benutzersteuerungen und Web-Formulare OnInit.

Sie auf OnPreRender Ereignis statt auf Last verwenden sollten, beause Beiladen auftritt, bevor WebPart Verbindung ausgeführt wird.

Dies ist ein Beispiel dafür, was Sie OnLoad und OnPreRender Ereignisse http://blog.mastykarz.nl/web-part-requires-clicking-twice-apply-ok-button-apply-changes/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top