3 Stimmen

ASP.net-Seitenobjekt null, wenn es aus einem Steuerelement mit Vorlage aufgerufen wird

Ich habe ein Steuerelement erstellt, das intern ein ITemplate verwendet, um dem Benutzer die Möglichkeit zu geben, seine eigenen Daten hinzuzufügen.

<my:MyControl id="myControl" runat="server">
   <Content>
         //some stuff in here
   </Content>
</my:MyControl>

Die Eigenschaft "Inhalt" ist die Vorlage. (Dies ist nur eine Vereinfachung. Dieses Konstrukt befindet sich innerhalb eines größeren Steuerelements).

Jetzt habe ich das Problem, dass mein Benutzer sein eigenes UserControl innerhalb der <Content>..</Content> . Das sollte kein Problem sein, aber das UserControl ruft den QueryString der Seite im PageLoad-Ereignis auf. Und nun habe ich erkannt, dass das Page-Objekt null ist, wenn sich das UserControl innerhalb der Vorlage befindet, während es funktioniert, wenn es außerhalb platziert ist, ganz normal auf der Seite.

Hat jemand eine Idee, woran das liegen könnte?

9voto

Jim Punkte 646

Ich habe einen Fall gesehen, in dem this.Page innerhalb eines verschachtelten Steuerelements null zurückgibt.

In diesem Fall ist die Verwendung des Konstrukts (Page)HttpContext.Current.Handler um das Seitenobjekt zu erhalten, hat gut funktioniert.

1voto

Ruben Punkte 14679

Ich weiß nicht, ob es noch von Nutzen ist, aber vielleicht ist es noch von Nutzen...

Wenn Sie die Vorlage instanziieren (mit InstantiateIn ), wird die sich daraus ergebende Kontrollhierarchie tatsächlich zu den MyControls Controls Sammlung? AFAIK, das ist der Weg, um sicherzustellen, dass Sie eine nicht-null-Seite-Eigenschaft haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X