2012-12-19 15 views
5

Jak mogę odłożyć odbiór przycisku ASP.NET w oknie dialogowym interfejsu użytkownika jQuery?Okno dialogowe jQuery UI (modalne), zapobiega odświeżeniu strony.

Właściwie używam modalnego okna dialogowego UI jak ten zrobiliśmy z modalu Ajax Control Toolkit, aby zaktualizować wartości danych przechowywanych w GridView kontroli. Jestem w stanie zrobić wszystko, ale nie mogę wywołać odświeżenia z modułem UI. Jestem trochę nowy w jQuery i jego interfejsie, więc nie mogę znaleźć dobrego rozwiązania.

Dla modalnym Ajax Toolkit za użyliśmy ustawić właściwość wyzwalania tak, aby umożliwić odświeżenie strony, gdy ktoś kliknie na przycisk jego złożenia, ale tutaj jest to jak niemożliwe. Oto mój kod:

//------------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. 

W GridView Dodałem obsługa JavaScript zdarzenie invokeEditPopup() do przycisków (które zostaną wykorzystane do wyskakujące okna), w GridView_DataBound Event.

W jaki sposób ustawić btnEditEvent w oknie dialogowym, aby dokonać odświeżenia, aby przeprowadzić wymagany proces na serwerze.

----------------------- Więcej informacji ------------------ I próbowałem używać pomysłów od jQuery UI Dialog with ASP.NET button postback.

A tuż pod moje okno definiowania w JavaScripcie, próbowałem za pomocą (z-oczywiście osobno):

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

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

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

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

Ale to nie działa poprawnie.

Odpowiedz

10

Wreszcie, dostałem odpowiedź: przepełnieniem stosu pytanie An ASP.NET button click event is not firing. Dzięki PirateKitten.

Wszystko, co potrzebne do zrobienia było tylko dodać następujące tuż pod moim tworzenia dialogowym w JavaScript i to działało jak uroku.

$("#editEventModal").parent().appendTo(jQuery("form:first")); 
4

Możesz także dodać modyfikację css, aby mieć pewność, że dialog nie pozostać div nakładki.

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