ASP.NET Composite Control nicht sprudeln, aber die Vorlage tut es mit der Vorlage
-
27-10-2019 - |
Frage
Ich entwickle eine zusammengesetzte Steuerung für eine ASP.NET -Anwendung und entwickelte zunächst die Steuerung, um eine Elementplatte zum Erstellen seiner untergeordneten Steuerelemente zu verwenden. Es gibt eine Reihe von Tasten innerhalb der untergeordneten Steuerelemente, die in der Wurzelsteuerung behandelt werden sollen. Ich verwende das OnBubbleEvent mit Befehlsname/Befehlsargument -Eigenschaften auf den Tasten, um alles zu verkabeln. Und alles hat großartig funktioniert ... bis ich die Vorlagen in Steuerelemente geändert habe.
Wenn ich die Vorlage in eine Steuerung konvertierte und Controls.Add (New ChildControl ()) in meiner Wurzelsteuerung anstelle von Instanziatein (dieses) aufgerufen habe, funktioniert das Ereignis nicht mehr.
Irgendeine Idee warum?
(Alles, und ich meine alles, sonst ist gleich.)
Lösung
Ihre zusammengesetzte Steuerung muss die InamingContainer -Schnittstelle implementieren, um OnBubbleEvent -Anrufe zu empfangen. Die compositeControl -Klasse implementiert diese Schnittstelle bereits ... in Ihrem Fall hat sie nicht aufgrund von Elementplate -Ding nicht mehr funktioniert, sondern weil Sie die Vererbung von geändert haben Compositecontrol zu Kontrolle.
Sieh dir das an: http://msdn.microsoft.com/en-us/library/system.web.ui.control.onbubbleevent.aspx
Sie sagen es dort.