2013-11-21 15 views
5

Ich habe ein div, das als Modal-Dialog angezeigt wird.ASP.net Button auf klicken nicht mit Jquery Modal Dialog

<div id="div2" style="display: none;" title="Upload Prenda"> 
     <center> 
      <br /> 
      Select File to Upload: 
      <asp:FileUpload ID="PrendaFileUpload" runat="server" Width="345px" /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="PrendaFileUpload" 
       ErrorMessage="File to be uploaded Required" ValidationGroup="X">*</asp:RequiredFieldValidator><br /> 
      <asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True" 
       ShowSummary="False" ValidationGroup="X" /> 
      <br /> 
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
      <asp:Button ID="uploadButton" runat="server" Text="Upload" OnClick="uploadButton_Click" 
       Width="100px" /> 
     </center> 
    </div> 

hier ist die jquery für sie

<script type="text/javascript"> 
$(function() { 
$("#div2").dialog({ 
autoOpen: false, 
modal:true, 
resizable: false, 
height: 200, 
width: 600 
}); 
$("#toggle").click(function() { 
$("#div2").dialog("open"); 
}); 
}); 
</script> 

das Problem ist, nachdem ich die Taste drücken, die OnClick="uploadButton_Click" die Methode innerhalb aktiviert wird nicht ausgelöst, jede Lösung für dieses? Entschuldigung, ich bin gerade neu in der Verwendung von jquery.

+1

Ich glaube, Sie werden feststellen, dass das Problem ist, dass jQuery Dialoge durchgeführt werden, ist so, dass sie von den normalen ASP.NET-Formular-Tags entfernt. Ich hatte dieses Problem vor etwa einem Jahr und kann mich nicht mehr genau erinnern, was ich getan habe oder wo ich die Antwort gefunden habe. Ziemlich sicher, dass es irgendwo auf dieser Seite war. Wenn ich es finden kann, werde ich dies mit einem Link zu der Antwort aktualisieren. Es gab eine ziemlich einfache Lösung, es ist nur schwer zu finden. –

Antwort

13

Gut, das ist die Antwort, die für mich gearbeitet, im mit keinem Update-Panel und das ist, was ich verwenden

dies den Dialog Erklärung hinzufügen:

open: function(type,data) { 
    $(this).parent().appendTo("form"); 
    } 

die Antwort in here gefunden, so Wenn Sie mehr darüber wissen möchten, klicken Sie auf den Link neben :)

+0

Danke, hat für mich gearbeitet :) –

0

Versuchen Sie, diese Lösung: jQuery modal dialog with postbacks in ASP.NET

Dieses jQuery teilt dem Dialog mit dem Formular-Tag anhängen, anstatt am Ende des Dokuments.

+0

@TylerDurden die obige Lösung funktionierte nicht für mich, ich benutze 1.8 jquery UI – user2705620

+0

@ user2705620 Entschuldigung, aber ich habe gerade erst jetzt von diesem Kommentar benachrichtigt. Ich gehe davon aus, dass Sie dieses Problem inzwischen gelöst haben? ;) –

+0

oh ja ich habe es schon gelöst und als Antwort oben markiert :) – user2705620

1

Die neueren Versionen von JQueryUI verwenden eine etwas andere Konvention. In Ihrer .dialog() Erklärung, fügen Sie diese ein Parameter:

appendTo: "form", 

dies das Problem für neue Versionen von JQuery fixiert, da es das Dialogfeld außerhalb des Bereichs der ASP.NET Form aufbaut. Hoffe das hilft neueren Benutzern!

0

Diese Abfrage löst C# -Code von JQuery aus. Ich habe es getestet:

$(this).parent().appendTo($("form:first")); 
Verwandte Themen