Legen Sie die Eigenschaften dynamisch Hinzugefügt werden, UserControl
Ich bin dynamisch hinzufügen eines benutzerdefinierten Steuerelement auf der Seite als pro dieser Beitrag.
Allerdings brauche ich, um eine Immobilie auf die der Benutzer Steuern, wie ich es der Seite hinzuzufügen. Wie mache ich das?
Code-snippet, das wäre nett 🙂
Details:
Habe ich eine benutzerdefinierte Steuerung mit einem öffentlichen Feld (Eigenschaft ... z.B. public int someId;)
Als ich fügen Sie ein Benutzersteuerelement in einer Seite, der Typ UserControl. Sehe ich genauso, wirf es in MyCustomUCType und festlegen einer Eigenschaft auf einen cast control?
p.s. sieht aus wie ich habe meine Frage selbst beantwortet, nachdem alle.
Was meinst du mit Einstellung einer Immobilie? html-Attribut? wenn Sie versuchen, fügen Sie die Eigenschaft auf eine Datenbindung event oder so? die Veranstaltung erstellen Sie die Kontrolle?
Den verlinkten post erklärt, was er zu tun versucht
Den verlinkten post erklärt, was er zu tun versucht
InformationsquelleAutor roman m | 2009-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ah, antwortete ich, bevor Sie Hinzugefügt, die zusätzliche Klarstellung. Die kurze Antwort ist, ja, einfach nur wirken, als Ihre benutzerdefinierten Typ.
Ich lasse den rest meiner Antwort hier für die Referenz, obwohl es nicht angezeigt wird, du wirst es brauchen.
Anlehnung an den code in der anderen Frage, und vorausgesetzt, dass alle Ihre Benutzer-Kontrollen vorgenommen werden können, Erben von der gleichen Basisklasse, Sie könnten dies tun.
Erstellen Sie eine neue Klasse zu handeln, wie die Basis-Steuerung:
Dann aktualisieren Sie Ihre Benutzer-Steuerelemente Erben von Ihrer Basis-Klasse anstelle des UserControl:
Dann, an der Stelle, wo Sie laden die Steuerelemente, das ändern:
:
Es sollte funktionieren, unabhängig. Ich habe noch nie ein problem mit ihm hatte.
InformationsquelleAutor Jeromy Irvine
Das ist, was ich tun würde. Wenn Sie tatsächlich mit dem Beispiel code, wo es lädt verschiedene Steuerelemente, würde ich verwenden, wenn(x ist ControlType).
Bearbeiten: Jetzt ist es 2.0 kompatibel
ändern Sie einfach die var-Label und Sie werden compat mit 2.0
InformationsquelleAutor Tom Ritter
Ja, nur Stimmen die Steuern, um den richtigen Typ. EX:
es funktioniert ganz gut.
Es funktioniert, wenn Sie das Steuerelement registrieren auf der Seite.
Das sollte ((MyControl)Kontrolle).MyProperty = "blah";
InformationsquelleAutor Jim Petkus