2012-12-19 21 views
5

Wie kann ich ein ASP.NET-Senden von Postbacks im jQuery UI-Dialogfeld vornehmen?jQuery UI Dialog (Modal), verhindert Postback

Eigentlich benutze ich den UI-Dialog modal wie den, den wir mit Modal Ajax Control Toolkit gemacht haben, um Werte von Daten zu aktualisieren, die in einem Gridview-Steuerelement gespeichert sind. Ich kann alles machen, aber ich kann kein Postback mit einem UI-Modal auslösen. Ich bin ein wenig neu zu jQuery und seine Benutzeroberfläche so, kann keine gute Lösung dafür finden.

Für das Modal des Ajax-Toolkits haben wir eine Trigger-Eigenschaft festgelegt, um ein Postback zu aktivieren, wenn jemand auf den Submit-Button klickt, aber hier ist es unmöglich. mein Code ist folgende:

//------------Modal first---------------- 
<div id="editEventModal" title="Edit Event Details" style="display:none"> 
//-------Here are my controls with asp.net validators 
<asp:Button ID="btnEditEvent" runat="server" Text="Save" ValidationGroup="EditEvent" /> 
</div> 

//--------- JavaScript/jQuery method for calling popup 
function invokeEditPopup(){ 
    $("#editEventModal").dialog({ 
     width: 700, 
     modal: true 
    }); 
} 
//-- Please not that I have not used UI_Dialog's predefined `OK`, `Cancel` buttons as I need to validate my form with asp.net validators on submit button's `click` event. 

Im gridview ich JavaScript-Event invokeEditPopup() zu Schaltflächen hinzugefügt habe (das verwendet wird, um den Dialog zu Popup), in dem GridView_DataBound Ereignisse.

Wie mache ich die btnEditEvent des Dialogs, um ein Postback zu machen, um den erforderlichen Prozess auf dem Server durchzuführen.

----------------------- Für weitere Informationen ------------------ I versucht mit Ideen aus jQuery UI Dialog with ASP.NET button postback.

Und meinen Dialog in der JavaScript-unten definiert, habe ich versucht (von-Kurs separat) mit:

$("#editEventModal").parent().appendTo($("form")); 

//--------And--------------- 
$(".ui-dialog").parent().appendTo($("form")); 

//--------And--------------- 
$("#editEventModal").parent().prependTo($("form")); 

//--------And--------------- 
$(".ui-dialog").parent().prependTo($("form")); 

Aber es funktionierte nicht korrekt.

Antwort

10

Endlich habe ich die Antwort: Stack Overflow Frage An ASP.NET button click event is not firing. Danke an PirateKitten.

Alles, was ich tun musste, war nur das folgende direkt unter meiner Dialog-Erstellung in JavaScript hinzuzufügen, und es funktionierte wie Charme.

4

Sie können auch eine CSS-Änderung hinzufügen, um sicherzustellen, dass der Dialog nicht hinter der Überlagerung div bleibt.

$("#editEventModal").parent().appendTo(jQuery("form:first")).css({"z-index":"101"});