Frage

Ich bin ein Benutzer die Kontrolle der Entwicklung und es hat innerhalb jQuery Dialog eine asp.net-Taste, aber wenn ich die Taste drücken nichts passiert, ich meine es nicht auf die Schaltfläche Click-Ereignis auf der server nicht nennen, ich habe versucht,

dlg.parent().appendTo(jQuery("form:first")); 

, aber es hat nicht mir helfen, ist es möglich, diese innerhalb asp.net Usercontrol achive? Auch frage ich mich, wenn ich Update innerhalb Dialogs verwenden kann oder nicht?

War es hilfreich?

Lösung

Sie können die Taste ein Dialogtaste und eine asp.net-Taste mit der ID HiddenButton auf der Seite platzieren und wickeln Sie es in einem div mit einem Stil von display:none;

So ist die Schaltfläche nicht sichtbar. (Darf nicht sichtbar sein = "false" so die Taste wiedergegeben wird)

Im Dialog javascript eine Schaltfläche hinzufügen, die die Wirkung des Klick auf die versteckte Taste hat

  jQuery("#dialog").dialog({
        buttons: {
            'ButtonText': function() {
                //save the session
           __doPostBack('<%# HiddenButton.ClientID %>', '')
                jQuery(this).dialog('close');
            }
        }
    });

und fügen Sie einen asp Click-Handler, um die versteckte Taste

<div style="display:none;">
    <asp:Button ID="HiddenButton" OnClick="HiddenButton_Click" ></Button>
<div>

Klicken Sie auf Ereignis auf dem server wird ausgelöst, wenn die Dialog-Schaltfläche geklickt wird

Hope, das hilft ich dieses Muster verwenden die ganze Zeit

Andere Tipps

Ich vermute, dass es etwas sein kann mit ASP.NET nicht in der Lage zu finden, auf den Button in der Form.

zu tun

Mit dem .live Ereignisse Setup in jQuery - bindet das Ereignis aus, bevor Sie den Dialog mit .live erstellen und es sollte funktionieren ...

Live-Event in jQuery

Sie werden mit so etwas wie dies in Ihrer document.ready Funktion am Ende:


$("#btn").live("click", function(){
  // Do something
});


$("#dialog").dialog({
    ... 
}

Ich hatte das gleiche Problem. Ich beenden die Schaltfläche aus dem Dialog nach oben ziehen, es mit CSS versteckt, und dann ist es aus der Nähe Ereignisse auf der Dialogauslösung (ich werde es später mehr sauber tun, aber das tut das Problem veranschaulichen, zumindest).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top