Frage

Ich habe zwei Bahnteile, die miteinander kommunizieren. Der Anbieter kann keinen Wert (ein RID) für den Verbraucher geben, bis zumindest das Ereignis Page Load des Anbieters. So kann der Verbraucher weiß nicht, das RID es erst nach Page_Load muss. Also, hakte ich in Page_LoadComplete. Jetzt gibt es ein Problem. Der Verbraucher schafft dynamische Kontrollen auf der Grundlage dieser RID.

Jetzt. Diese dynamischen erstellt Kontrollen werden nach Page_Load erstellt. So wird ihr Ansichtszustand nicht gestellt (dynamische Steuerelemente in Page_Load erstellt hat ihre Werte haben jedoch gestellt).

Also, im Grunde, was ich brauche, ist eine Möglichkeit, Ansichtszustand mit einer Steuer manuell entweder wiederherstellen oder der Kontrolle des Wertes aus einer POST-Variable oder das Äquivalent in C # ..

zu bekommen

Auch wenn ich den Wert einer Kontrolle bei Page_Init bekommen könnte, das wäre zu arbeiten.

War es hilfreich?

Lösung

Alle Informationen aus einem Beitrag in dem Request.Form Schlüssel zurückgegeben / Werte-Paare. Wenn Sie sie überprüfen und für die Steuerung-ID in den Schlüsseln suchen, können Sie den Wert erhalten, ohne Blick durch den Ansichtszustand.

Sie werden wahrscheinlich durch die einzelnen Schlüssel suchen und die Suche nach dem, welche Taste des Steuer Namen enthält, da der Schlüssel wird die Client-ID und nicht die ID, die Sie angegeben sein.

Andere Tipps

Wenn die Kontrollen dynamisch sind, werden sie nicht in Viewstate sein, bis ein Postback auftritt. So ist nicht verwendbar Viewstate auf Anfangslast, wenn Sie sie addieren sich Viewstate.

ViewState.Add("myRID", RID)

Oder Sie können es in Session speichern und nicht überlasten, da Viewstate Viewstate ohnehin viel zu groß zu bekommen neigt. Ich würde mit Session.

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