Frage

i eine Frage zu Telerik RadPanelBar Kontrolle haben.

Zum Beispiel haben wir eine RadPanelBar Kontrolle über Form bekommen:

        <telerik:RadPanelBar ID="testPanelBar" runat="server">
        </telerik:RadPanelBar>

und eine Schaltfläche, die ein neues Element zu diesem RadPanelBar zur Laufzeit hinzufügt:

        RadPanelItem newParentItem = new RadPanelItem();
        RadPanelItem newChildItem = new RadPanelItem();
        newChildItem.Controls.Add(new RadTextBox());
        newChildItem.Text = "wazzap";
        newParentItem.Items.Add(newChildItem);
        languagesPanelBar.Items.Add(newParentItem);

, wenn i-Taste klicken, neuer RadPanelItem ist mit allen untergeordneten Steuerelemente hinzugefügt (in diesem Fall ist es RadTextBox in Kindern Artikeln)
wenn Taste zweites Mal angeklickt wird, wird zweiter RadPanelItem mit allen Kontrollen hinzugefügt, aber dieses Mal RadTexBox Kontrolle verschwand von der ersten RadPanelItem.
Und gleiche, wenn die Taste für drittes Mal angeklickt wird, werden neue Artikel hinzugefügt mit allen Kontrollen, aber RadTextBox aus 1. und 2. Artikel verschwinden.

Mache ich etwas falsch, wenn dynamisch Elemente hinzufügen?

Danke!

War es hilfreich?

Lösung

Dies geschieht, weil dynamisch erstellte Steuerelemente zu anderen dynamisch erstellte Steuerelemente hinzugefügt werden, nach einem Postback verloren. Sie müssen sie auf jeder Seite zu laden, neu erstellen. Soweit ich weiß, gibt es für dieses Problem keine Abhilfe. Sie können es mit der Page-Klasse zu leicht reproduzieren, auf page_load versuchen Controls.Add (neu TextBox ()); Dann, nach einem Postback, wird der gleiche Code nicht neu generieren (zweite) Textbox, sondern wird die später neu erstellen.

Alle PanelBar Artikel (auch dynamisch erstellt ist) wird auf dem Client serialisiert und nach einem Postback auf dem Server neu erstellt werden. Und das ist, warum sie nicht verloren gehen. Allerdings ist die gleiche Sache nicht auf die untergeordneten Steuerelemente des RadPanelItem Objekt anwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top