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

Problem mit verschachtelten UpdatePanels und dynamisch erzeugten Buttons

Letzter Beitrag 01-12-2016, 11:51 von marco.fuhrmann. 0 Antworten.
Beiträge sortieren: Zurück Weiter
  •  01-12-2016, 11:51 225973

    Problem mit verschachtelten UpdatePanels und dynamisch erzeugten Buttons

    Hallo,

    ich stehe hier vor einem Problem und komme nicht weiter.
    In einem Updatepanel wird ein Button 1 erzeugt.
    Durch klick auf diesen wird in einem Child-UpdatePanel ein neuer Button 2 erzeugt.
    Nach klick auf diesen Button 2 soll in einem weiteren Child-Updatepanel ein neuer Button 3 erzeugt werden usw.

    Leider funktioniert das ab klick auf Button 2 nicht mehr. Die folgenden Updatepanel werden zwar aktualisiert, erzeugen aber keine Buttons. Zudem "verschwindet" der Button 2 nach dem klick auf ihn.
    Falls jemand weiß wo die Fehler liegen, wäre das echt toll.

    Danke und Gruß,
    Marco.

    protected void Page_Load(object sender, EventArgs e)
            {
                Button Button1 = new Button();
                Button1.Text = "Button 1";
                Button1.ID = "1111";
                Button1.Click += new EventHandler(Button1Click);
                PlaceHolder1.Controls.Add(Button1);
            }

            void Button1Click(object sender, EventArgs e) // Sichtbar in UpdatePanel 2
            {
                Button button = sender as Button;
                Label1.Text = "Text: " + button.Text.ToString() + "; ID: " + button.ID.ToString() + "<br />";
                Button Button2 = new Button();
                Button2.Text = "Button 2";
                Button2.ID = button.ID.ToString() + "2222";
                Button2.Click += new EventHandler(Button2Click);
                PlaceHolder2.Controls.Add(Button2);
            }
            void Button2Click(object sender, EventArgs e) // Sichtbar in UpdatePanel 3
            {
                Button button = sender as Button;
                Label2.Text = "Text: " + button.Text.ToString() + "; ID: " + button.ID.ToString() + "<br />";
                Button Button3 = new Button();
                Button3.Text = "Button 3";
                Button3.ID = button.ID.ToString() + "3333";
                Button3.Click += new EventHandler(Button3Click);
                PlaceHolder3.Controls.Add(Button3);
            }
            void Button3Click(object sender, EventArgs e) // Sichtbar in UpdatePanel 4
            {
                Button button = sender as Button;
                Label3.Text = "Text: " + button.Text.ToString() + "; ID: " + button.ID.ToString() + "<br />";
            }


        <div class="row">
            <div class="col-md-4">
    <!-- UPDATEPANEL 1 START -->
                <asp:UpdatePanel ID="UpdatePanel1"
                                 UpdateMode="Conditional"
                                 runat="server">
                    <ContentTemplate>
                           <fieldset>
                           UpdatePanel 1 <br />
                            <!-- Other content in the panel. -->
                            <%=DateTime.Now.ToString() %> Panel 1
                            <br />
                           </asp:PlaceHolder ID="PlaceHolder1" runat="server">
                        </fieldset>  
    ####################################################                 
                <!-- UPDATEPANEL 2 START -->                   
                         <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
                            <ContentTemplate>
                                <fieldset>
                                    UpdatePanel 2 <br />
                                    </asp:Label ID="Label1" runat="server" Text="">
                                    <%=DateTime.Now.ToString() %> Panel 2
                                    <br />
                                    </asp:PlaceHolder ID="PlaceHolder2" runat="server">
                                </fieldset>
    ####################################################                           
                        <!-- UPDATEPANEL 3 START -->                             
                             <asp:UpdatePanel ID="UpdatePanel3" UpdateMode="Conditional" runat="server">
                                <ContentTemplate>
                                    <fieldset>
                                        UpdatePanel 3 <br />
                                        </asp:Label ID="Label2" runat="server" Text="">
                                        <%=DateTime.Now.ToString() %> Panel 3
                                        <br />
                                        </asp:PlaceHolder ID="PlaceHolder3" runat="server">
                                    </fieldset>
    ####################################################
                               <!-- UPDATEPANEL 4 START -->
                                    <asp:UpdatePanel ID="UpdatePanel4" UpdateMode="Conditional" runat="server">
                                        <ContentTemplate>
                                            <fieldset>
                                                UpdatePanel 4 <br />
                                                </asp:Label ID="Label3" runat="server" Text="">
                                                <%=DateTime.Now.ToString() %> Panel 3
                                                <br />
                                                </asp:PlaceHolder ID="PlaceHolder4" runat="server">
                                            </fieldset>
                                        </ContentTemplate>
                                    </asp:UpdatePanel>
                                    <br />
                               <!-- UPDATEPANEL 4 ENDE -->
                                </ContentTemplate>
                            </asp:UpdatePanel> 
                            <br />
                            <hr style="margin-bottom: 10px;"/>
                        <!-- UPDATEPANEL 3 ENDE -->                           
                                                          
                            </ContentTemplate>
                        </asp:UpdatePanel> 
                        <br />
                        <hr style="margin-bottom: 10px;"/>
                <!-- UPDATEPANEL 2 ENDE -->                   
                                                  
                    </ContentTemplate>
                </asp:UpdatePanel>
                <br />
                <hr style="margin-bottom: 10px;"/>
        <!-- UPDATEPANEL 1 ENDE -->
            </div>
        </div>

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