ModalPopupExtender OK Button Klick Ereignis wird nicht ausgelöst?
Ich habe eine Schaltfläche in einem UpdatePanel. Die Taste ist als die Taste OK für ein ModalPopupExtender. Für einige Grund, der button-click-event wird nicht gefeuert. Irgendwelche Ideen? Bin ich etwas fehlt?
<asp:updatepanel id="UpdatePanel1" runat="server">
<ContentTemplate>
<cc1:ModalPopupExtender ID="ModalDialog" runat="server"
TargetControlID="OpenDialogLinkButton"
PopupControlID="ModalDialogPanel" OkControlID="ModalOKButton"
BackgroundCssClass="ModalBackground">
</cc1:ModalPopupExtender>
<asp:Panel ID="ModalDialogPanel" CssClass="ModalPopup" runat="server">
...
<asp:Button ID="ModalOKButton" runat="server" Text="OK"
onclick="ModalOKButton_Click" />
</asp:Panel>
</ContentTemplate>
</asp:updatepanel>
InformationsquelleAutor der Frage Kyle Trauberman | 2008-09-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aspx
Und nicht die OK-Taste als OkControlID.
InformationsquelleAutor der Antwort
Scheint es, dass eine Schaltfläche, die verwendet wird, wie der OK-oder der ABBRECHEN-Schaltfläche für ein ModalPopupExtender kann nicht von einem click-Ereignis. Getestet habe ich diese durch entfernen der
aus der ModalPopupExtender-tag, und klicken Sie auf die Schaltfläche ausgelöst wird. Werde ich brauchen, um herauszufinden, eine andere Art und Weise zum senden der Daten an den server.
InformationsquelleAutor der Antwort Kyle Trauberman
Könnte es auch sein, dass der button muss CausesValidation="false". Das funktionierte für mich.
InformationsquelleAutor der Antwort Johan Leino
Ich war gerade auf der Suche nach einer Lösung für dieses 🙂
scheint es, dass Sie nicht haben, können OkControlID weisen Sie auf ein Steuerelement, wenn Sie wollen, um die Kontrolle feuert ein Ereignis, nur zu löschen, diese Eigenschaft hab ich alles wieder funktioniert.
mein code (funktioniert):
InformationsquelleAutor der Antwort balexandre
In das Button-Steuerelement das Attribut "UseSubmitBehavior=false".
InformationsquelleAutor der Antwort Stefan Weiss
Verwende ich oft ein leeres Etikett als TargetControlID. ex.
<asp:Label ID="lblghost" runat="server" Text="" />
Ich habe gesehen, zwei Dinge, die verursachen, dass das click-Ereignis nicht ausgelöst:
1. Sie haben zu entfernen, die OKControlID (wie andere erwähnt haben)
2. Wenn Sie mit Feld-Validatoren sollten Sie CausesValidation="false" auf die Schaltfläche.
Beiden Szenarien verhielt sich den gleichen Weg für mich.
InformationsquelleAutor der Antwort user519205
Keiner der bisherigen Antworten, die für mich gearbeitet. Ich rief den postback der Taste auf der OnOkScript Veranstaltung.
InformationsquelleAutor der Antwort Johnno Nolan
Ich einen Weg gefunden habe, zu überprüfen modalpopup ohne postback.
In der ModalPopupExtender ich die OnOkScript, um eine Funktion von e ist.g ValidateBeforePostBack(), dann in die Funktion rufe ich Page_ClientValidate für die Validierung Gruppe möchte ich, überprüfen und, wenn dies fehlschlägt, halten Sie die modalpopup zeigen. Wenn es geht, rufe ich
__doPostBack
.InformationsquelleAutor der Antwort Fandango68