Asp.Net die Schaltfläche click-Ereignis im inneren Repeater in UpdatePanel

Ich bin versucht, einen Repeater innerhalb eines Updatepanel und Schaltflächen, die löschen einen entery in der Datenbank und erhalten die neuen Daten für den Repeater und Aktualisieren Sie die Systemsteuerung. Ich habe versucht ein LinkButton, aber es funktioniert immer postback der Seite relodes. Dann habe ich versucht, eine regelmäßige Schaltfläche, und erstellen Sie ein Ereignis für die Schaltfläche auf Datenbindung Veranstaltung. Aber es funktioniert nicht. Hier ist der code:

aspx-Datei:

 <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel runat="server" id="Panel">
        <ContentTemplate> 
            <table cellpadding="0" cellspacing="0" id="saveTable">
                <tr style="font-weight: bold;">
                    <td>Erstellt am</td>
                    <td>Anforderer</td>
                    <td>Werk</td>
                    <td>Gebäude</td>
                    <td>Start Datum</td>

                    <td>Löschen</td>
                    <td>Benutzen</td>
                </tr> 


            <asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
                <ItemTemplate>

                <tr id="Meldung<%# DataBinder.Eval(Container.DataItem,"meldungId")%>">
                    <td><%# DataBinder.Eval(Container.DataItem, "timestamp").ToString().Substring(0, 10)%></td>
                    <td><%# DataBinder.Eval(Container.DataItem,"nameAnforderer") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem,"Werk") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem,"Building") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem,"startDatum").ToString().Substring(0, 10) %></td>
                    <td>
                        <asp:Button runat="server" ID="test"/>
                    </td>
                    <td></td>
                </tr>

               </ItemTemplate>
            </asp:Repeater>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>

und in der code-behind-ich gebe die Schaltfläche mit der id = test ein Ereignis

    protected void deleteMeldung(object sender, EventArgs e) {
        System.Threading.Thread.Sleep(5000);
    }

    protected void Repeater1_ItemDataBound(object source, RepeaterItemEventArgs e) {
        RepeaterItem repeaterSource = e.Item;
        Button btn1 = repeaterSource.FindControl("test") as Button;
        DataRowView drv = e.Item.DataItem as DataRowView;
        string meldungId = drv.Row["meldungId"].ToString();

        btn1.ID = "myNewButton"+meldungId;
        btn1.Click += new EventHandler(deleteMeldung);
        btn1.Text = "delete";

    }

also was ist die Arbeit vorbei ist der Text und die ID-Nummer auf jeder Taste so. Aber die Tasten haben keine Click-Ereignis zu nennen deleteMeldung()

Sie können verwenden: <Trigger> <asp:AsyncPostBackTrigger ControlID="Repeater1" EventName="youronclickevent" /> </Trigger> so wird es nicht laden Sie Ihre Seite.. mit diesem können Sie linkbutton..

InformationsquelleAutor Jodo | 2014-09-22

Schreibe einen Kommentar