2009-08-01 6 views
1

Ich arbeite an meinem ersten Webpart. Ich benutze eine Anzahl von Benutzersteuerelementen als Bildschirme. Und ich habe Probleme hier.Benutzersteuerelemente als "Bildschirme" in einem Webpart

Der erste Bildschirm enthält eine Liste der dynamisch erstellten Optionen (Hyperlinks). Nachdem der Benutzer eine Entscheidung mit einem Klick getroffen hat, möchte ich den Bildschirm wechseln und einige Parameter an den neuen Bildschirm übergeben.

  1. Meine dicision ist es, alle Kontrollen ich auf webpart Schöpfung müssen zu laden. Kontrollen, die ich jetzt nicht brauche, mache ich unsichtbar.

    SomeUserControl1 uc1 = (SomeUserControl1)Page.LoadControl("~/_controltemplates/SomeUserControl1.ascx"); 
        SomeUserControl2 uc2 = (SomeUserControl2)Page.LoadControl("~/_controltemplates/SomeUserControl2.ascx"); 
        uc2.Visible = false; 
    
        Controls.Add(uc1); 
        Controls.Add(uc2); 
    
  2. Option in der ersten Steuer Benutzer als Linkbuttons (serverseitig) realisiert. OnClik-Ereignis ruft eine spezielle Methode in der Webpart-Klasse auf und in dieser Methode ändere ich eine Sichtbarkeit meiner Benutzersteuerelemente und übergebe einige Parameter an usercontrol2.

Ich mag diesen Ansatz nicht. Gibt es verschiedene Möglichkeiten, die beschriebene Funktionalität zu realisieren?

Danke!

Antwort

0

Sie benötigen ein ASP.NET Wizard Control, es tut genau das, was Sie wollen.

+0

Vielen Dank für den Vorschlag! – RollingStone

0

Vom Design Standpunkt aus sieht das, was Sie tun, ein wenig beängstigend aus. Sie sollten über das Verschachteln der verschiedenen Benutzersteuerelemente in einem einzelnen Benutzersteuerelement nachdenken, das Sie als das Gesicht Ihres Webparts verwenden können. Halten Sie die Kopplung zwischen den verschiedenen Benutzersteuerelementen locker und denken Sie darüber nach, das Observer-Muster zu implementieren, wenn Sie beispielsweise mit der Sichtbarkeit der Steuerelemente arbeiten müssen.

Verwandte Themen