2009-07-17 16 views
1

Wenn das Element "Löschen" in der Dropdownliste ausgewählt ist, möchte ich einen Bestätigungsdialog über AJAX ModalPopup anzeigen.AJAX ModalPopup ausgelöst durch Dropdownliste

Wenn die OK-Schaltfläche geklickt wird (innerhalb des Bestätigungsdialogs), sollte die Löschmethode aufgerufen werden.

Da die OnOkScript-Eigenschaft von ModalPopup eine JavaScript-Methode erfordert, gibt es offensichtlich keine direkte Möglichkeit, die serverseitige Methode aufzurufen.

Was soll ich tun?

Sollte ich die Löschmethode innerhalb einer versteckten Schaltfläche platzieren, übergeben Sie den Verweis auf eine JavaScript-Funktion (das OnOkScript) und rufen Sie sie dann über __doPostBack auf?

Gibt es einen einfacheren Weg?

Antwort

0

Führen Sie in Ihrer OnOkScript-JavaScript-Methode einen AJAX-POST zu einer serverseitigen Seite durch, um den Löschvorgang durchzuführen.

+0

können Sie bitte genauer? –

0

Sie haben die Möglichkeit, alles über den Server-Side-Code angeforderte zu tun.

Stellen Sie Ihr Markup als etwas ähnliches:

<asp:DropDownList 
    AutoPostBack="true" 
    OnSelectedIndexChanged="ConfirmDelete_SelectedIndexChanged" 
    runat="server" /> 

<asp:LinkButton 
    ID="btnNotInUse" 
    runat="server" /> 

<asp:Panel 
    ID="pnlPopup" 
    style="display:none;" 
    runat="server"> 
    This is your confirmation dialog.<br /> 
    <asp:Button ID="btnDelete" runat="server" /> 
</asp:Panel> 

<ajaxToolkit:ModalPopupExtender 
    ID="mpeModal" 
    TargetControlID="btnNotInUse" 
    PopupControlID="pnlPopup" 
    runat="server" /> 

Nun, wenn Sie Ihre Änderungen Dropdownlist, werden Sie den Server-Event "ConfirmDelete_SelectedIndexChanged" Feuer, das wie folgt aussieht:

protected void ConfirmDelete_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if(/*some logic that states if "delete" is selected*/) 
     mpeModal.Show(); 
} 

In Wenn Sie eine Auswahl in der Dropdownliste ändern, prüft der Server, ob "Löschen" ausgewählt wurde. Wenn dies der Fall ist, wird Ihr modales Popup nun mit einer Schaltfläche angezeigt, die tatsächlich aus Ihrer Datenquelle löschen oder alles tun kann, was Sie tun müssen.