Ich möchte meine asp.net-Seite aktualisieren, nachdem jemand auf eine Schaltfläche "Hinzufügen" klickt. Die Schaltfläche "Hinzufügen" ist jedoch Teil des Benutzersteuerelements in einem anderen Benutzersteuerelement, und das untergeordnete Steuerelement und das übergeordnete Steuerelement sind beide in Update Panels eingepackt: Code unten ist für die Anzeige abgeschnitten, es gibt einen Grund, dass das Benutzersteuerelement in einem anderen BenutzersteuerelementAktualisieren einer asp.net-Seite von einem Steuerelement in einem anderen Steuerelement
istInnen erste Steuer:
<ajax:UpdatePanel ID="Panel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<uc:Control2 ID="Custom2" runat="server" />
</ContentTemplate>
</ajax:UpdatePanel>
Dann innen control2
<ajax:UpdatePanel ID="Panel2" runat="server" UpdateMode="Always">
<ContentTemplate>
<asp:LinkButton ID="AddButton" runat="server" OnClick="AddButton_Click"</asp:LinkButton>
</ContentTemplate>
</ajax:UpdatePanel>
In ähnlicher Weise hatte ich ein UserControl mit einem Add Button w/onclick -Ereignis in der UserControl (die einen Datensatz zu meiner Datenbank hinzugefügt). Nachdem Sie einmal auf die Schaltfläche "Hinzufügen" geklickt und anschließend auf die Schaltfläche zum Aktualisieren des Browsers geklickt haben, wird der Browser das Formular erneut bereitstellen und den erneuten Abruf des vorherigen Add-Ereignisses akzeptieren, was zu einem doppelten Add-Vorgang führt. Response.Redirect (übergeordnete Seite) hat das Problem behoben. Siehe Antwort von @ keltex. – condiosluzverde