[VS2008; AJAX] UpdatePanel Leeren + Neu befüllen?

sinni800

Mitglied
Eigentlich dürfte das Oben schon die volle Frage stellen.

Ich möchte mit einem UpdatePanel, oder irgendwie anders Teile einer Website komplett neu schreiben durch ein Event.

Einfach die nötigen Objekte einfügen, und deren Eigenschaften dann so ändern, funktioniert in diesem Falle nicht.

Denn ich möchte reinen HTML Code neu hinterherschubsen. Dort ist ein Flash-Objekt drin.

Zweitens möchte ich noch wissen, wie man denn überhaupt das Ding neubefüllt, bis jetzt weiss ich nur, wie man es beim Start der Seite befüllt, mit <% %> innerhalb des UpdatePanels. Aber wie krieg ich das nun während der Laufzeit hin, genau DORT neuen Code einzufüllen?


Ich steh noch ziemlich aufm Schlauch mit den UpdatePanels. Bis jetzt bin ich nur so weit, dass ich per AJAX ASP.NET Controls innerhalb des Update Panels modifizieren kann.

Danke jedenfalls schon Mal für etwaige Hilfe.
 
Hallo Sinni, was hast du genau vor?

So wie ich das verstehe hast du auf deiner Seite ein UpdatePanel in dem mehrere Controls stehen hast. Wenn du auf Button A drückst, willst du an Stelle A neuen HTML-Quelltext einfügen - Richtig?!


Wenn das so ist, versuch mal das:

HTML:
<asp:UpdatePanel ID="myUpdatePanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:PlaceHolder ID="placeholder" runat="server"></asp:PlaceHolder>
        <asp:Button ID="MyButton" runat="server" Text="test" OnClick="OnMyButton_Event" />
        </ContentTemplate>
    </asp:UpdatePanel>
Und im CodeBehind

Code:
protected void OnMyButton_Event(object sender, EventArgs e)
{
    Button btn = new Button();
    btn.ID = "NewButton";

    Literal lit = new Literal();
    lit.Text = "<table border=\"1\"><tr><td>Ich bin gleich eine HTML-Tabelle</td></tr></table>";

    placeholder.Controls.Add(lit);
    placeholder.Controls.Add(btn);
}

Damit solltest du in der Lage sein, beliebiges HTML hinterherzuschubsen. Dabei wird jedesmal wenn der Button gedrückt wird, der Inhalt des Placeholders neu befüllt. Mit dem Literal-Control kannst du beliebigen HTML-Quältext hinzufügen - je nachdem was du tun möchtest
 
Geniaaalst!

An 'nem Placeholder bin ich auch schon vorbeigerutscht; aber dass das so "einfach" geht, hätt ich eigentlich nicht gedacht. Und der placeholder wird immer neu befüllt?

Und ich hab genau das was du sagtest vor ;)
Ich haks als erledigt ab.

Danke ;)
 
Der Placeholder wird immer "neu befüllt" - naja, eigentlich immer geleert - weil nach nem Postback nichts drin steht und du den Inhalt irgendwo halten, um Sie beim laden der Seite immer wieder hinzuzufügen, wenn du Controls nach und nach hinzufügst willst
 
Zurück