Frage

Wenn ich einen Delegierten (der auf eine Seitenmethode verweist) im Sitzungsstatus speichere, kehrt sie nach einem Postback zurück und führt das Ziel des Delegiertens das alte Seitenobjekt und nicht das aktuelle aus, das das Ziel des Ziels ändert Delegieren Sie so, dass die Methode auf dem aktuellen Seitenobjekt ausgeführt wird?

Ich habe darüber nachgedacht, eine statische Seitenmethode zu verwenden, aber dann habe ich keinen Zugriff auf die Steuerelemente auf der Seite, auf der das Objekt dessen, was ich versuche, besiegt, nämlich ein Textfeld aktualisiert.

War es hilfreich?

Lösung

Lassen Sie Ihren Delegierten die neue Seite als erster Parameter nehmen und wenn Sie sie Pass nennen this.

Andere Tipps

Ich bin ein bisschen nervös darüber. Sowohl Jon Skeets als auch Mehrdads Vorschläge werden (natürlich) funktionieren, aber die Seiteninstanzen sollen nach Abschluss einer Anfrage entsorgt werden. Dieser Delegierter könnte verhindern, dass dies geschieht, was zum .NET -Äquivalent eines Speicherlecks führt.

Vielleicht könnten Sie Reflexion verwenden und a setzen System.Reflection.MethodBase oder System.Reflection.MethodInfo Objekt in der Sitzung, um stattdessen stattdessen aufzurufen.

delegateInstance.Method.Invoke(obj, arguments);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top