ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads
Werbeanzeige

Duplizieren von TabPanels und beibehalten der xmlbind

Letzter Beitrag 04-11-2012, 14:44 von Blitz. 4 Antworten.
Beiträge sortieren: Zurück Weiter
  •  04-11-2012, 12:04 224132

    Duplizieren von TabPanels und beibehalten der xmlbind

    Hallo,

    ich möchte auf meiner asp.net seite zwei TabContainer haben bei denen dynamisch TabPanels erzeugt werden, und zwar so viele wie ich in einer TextBox eingebe. Das erste TabPanel, das immer angezeigt wird und als Template verwendet wird, ist bereits vorhanden.

    Nun möchte ich dieses Template klonen und die Bindung der DropDownLists (in den geklonten TabPanels) an eine XML beibehalten.

    wie kann ich das am besten umsetzen?

    Im Moment sieht es folgendermaßen aus, dass ich die TabPanels zu testzwecken mit einem button erzeugen lasse, was auch wunderbar funktioniert.
    Sobald ich aber auf einen der neuen TabReiter oder irgendein Steuerelement innerhalb der geklonten TabPanels klicke werden alle erzeugten TabPanels wieder gelöscht. Ausserdem sehe ich das sich die DropDownLists ihre Daten nicht aus der XML holen.

    Wieso ist das so und wie kann ich das umsetzen?

    Vielen dank schon mal für alle hilfreichen Antworten.

    Mfg

    Tobi
  •  04-11-2012, 12:29 224133 Antwort zu 224132

    AW: Duplizieren von TabPanels und beibehalten der xmlbind

    Dynamisch erstellte Steuerelemente müssen bei jedem Postback erneut erstellt werden und zwar am besten in Page_Init mit der gleichen ID wie zuvor.
    Deshalb musst Du die Anzahl der TabPanels irgewndwo speichern, z.B. in der Session.

    Hier hab ich mal ein komplettes Beispiel gepostet wo die TabPanels dynamisch erzeugt wurden abhängig davon was der User in einer ListBox auswählt. Funktioniert ähnlich mit Deiner TextBox in der man die Anzahl angibt: http://stackoverflow.com/questions/9101458/dynamically-deleting-tab-panel-in-tab-container-in-asp-net-using-vb-net




    Gruß

    Stack Overflow profile for Tim at Stack Overflow, Q&A for professional and enthusiast programmers
  •  04-11-2012, 12:38 224134 Antwort zu 224133

    AW: Duplizieren von TabPanels und beibehalten der xmlbind

    danke schon mal.

    bin noch totaler neuling was asp.net und C# angeht.

    gibts das beispiel auch in C# :-)

    kann ich dann die Werte die ich in den Steuerelementen, die ich innerhalb eines TabPanels verändert habe, auch nach dem postback wieder so anzeigen?

    und wie läuft das dann mit den Variablen in denen ich die auswahl (z.b. einer DropDownList) speichere? ich brauch ja für jedes TabPanel einen eigenen "Satz" von Variablen.

    mfg

    Tobi




    EDIT:

    Jetzt funktionierts, dass die Tabs nicht nach einem Klick wieder verschwinden. :-)

    aber nur das TabPanel, das ich als letztes erstellt habe holt sich die Daten aus der XML.

    woran könnte das liegen?
  •  04-11-2012, 13:59 224135 Antwort zu 224134

    AW: Duplizieren von TabPanels und beibehalten der xmlbind

    Blitz:
    danke schon mal.
    bin noch totaler neuling was asp.net und C# angeht.
    gibts das beispiel auch in C# :-)

    Da gibts ein paar Sachen die der Konverter nicht packt und leider hab ich momentan keine Zeit das manuell zu übersetzen.

    Blitz:
    kann ich dann die Werte die ich in den Steuerelementen, die ich innerhalb eines TabPanels verändert habe, auch nach dem postback wieder so anzeigen?

    Die Werte werden standardmässig automatisch im ViewState gespeichert und wieder geladen, sofern du meinen Ratschlag beherzigt hast die Tabs in Page_Init zu erstellen mit der gleichen ID wie zuvor.

    Blitz:
    und wie läuft das dann mit den Variablen in denen ich die auswahl (z.b. einer DropDownList) speichere? ich brauch ja für jedes TabPanel einen eigenen "Satz" von Variablen.

    Ist das nicht die gleiche Frage wie die letzte?

    Blitz:
    Jetzt funktionierts, dass die Tabs nicht nach einem Klick wieder verschwinden. :-)
    aber nur das TabPanel, das ich als letztes erstellt habe holt sich die Daten aus der XML.
    woran könnte das liegen?

    Dafür müssten wir sehen wie dus gemacht hast :)


    Gruß

    Stack Overflow profile for Tim at Stack Overflow, Q&A for professional and enthusiast programmers
  •  04-11-2012, 14:44 224136 Antwort zu 224135

    AW: Duplizieren von TabPanels und beibehalten der xmlbind

    hier hab ich mal die Funktion zum erstellen der TabPanels:

    protected void Page_Init(object sender, EventArgs e)

    {

    CreateTabPanel(sender, e);

    }


    void CreateTabPanel(object sender, EventArgs e)

    {

    for (int i = 2; i < 5; i++)

    {

    TabPanel newPanel = new TabPanel();

    newPanel.HeaderTemplate = TabPanel1.HeaderTemplate;

    TabPanel1.ContentTemplate.InstantiateIn(newPanel);



    TabContainer1.Tabs.Add(newPanel);

    TabContainer1.ActiveTab = newPanel;

    newPanel.HeaderText = "Worker " + i;




    }


    }


    ja das war zweimal die gleiche Frage :-)

    Entweder ich habs nicht ganz kapiert und stell jetzt nochmal die gleiche Frage oder jetzt kommt nochmal n neues Problem :-)

    Wie kann ich denn auf die Steuerelemente zugreifen die innerhalb der neuen TabPanels sind, ich weiss ja die ID von denen nicht? also z.B. Calendar.Caption ?




Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)