2009-03-12 5 views
0

Derzeit verwende ich jQuery auf meiner asp.net Content-Seite (mit Master). Ich erstelle einen modalen Dialog mit jquery. Die div, die mit dem folgenden CodeCall-Server-Funktion von jquery Dialog

<div id="example" class="flora" title="Information" style="display:none; visibility:hidden; text-align:left;"> 
     <asp:Panel ID="Panel" runat="server"> 
      Is the information you have entered correct?<br /> 
      <asp:Label>Some labels filled when the modal appears</asp:Label> 
      <asp:button runat="server" OnClick="someServerSide_Function" Text="Submit" /> 
     </asp:Panel> 
    </div> 

Es gibt eine HTML-Schaltfläche, die gedrückt wird, und wenn die Taste gedrückt wird, ruft er den folgenden Code

$("#example").dialog("open"); 

Und die modalen definiert definiert sind Mit dem folgenden Code:

$("#example").dialog({ 
       autoOpen: false, 
       modal: true, 
       height: 400, 
       overlay: overlayCss, 
       bgiframe: true 
      }); 

die Modal gefüllt wird, wenn die HTML-Schaltfläche geklickt wird, und die ASP.NET-Taste ruft nicht seine Server-Seite-Funktion, wenn es angeklickt wird. Das Example div befindet sich innerhalb der Tags, daher sollte es die serverseitige Funktion aufrufen. Was könnte falsch sein?

+0

Ich denke, wir gehen müssen, um zu sehen, Code, um Ihnen zu helfen. Können Sie den Code bereinigen, damit wir eine Vorstellung davon bekommen, woran Sie gerade arbeiten? –

+0

Sie asp.net-Webseiten oder asp.net mvc verwenden? – TStamper

+0

Erster Teil $ ("ctl00_AdditionalScripting_example"). AddClass ("flora"). Dialog ({autoOpen: false, modal: true, Höhe: 400, overlay: overlayCss, bgiframe: true}); (".okButton"). Click (Funktion (e) {if (validateControls() == true) {$ ("# ctl00_AdditionalScripting_example"). Dialog ("open"); e.preventDefault(); –

Antwort

3

Nicht annähernd genug Informationen, um Ihnen wahrscheinlich zu helfen ... aber versuchen Sie diesen Link.

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

Edit:

Es scheint, diese Frage wurde bearbeitet, so dass ich meine Antwort bearbeiten ...

Verwenden Sie die oben, wenn Sie Ihre Taste wollen, sind von der Serverside-Methode aufrufen jquery ohne die Seite zu posten.

Es scheint jetzt, dass Sie eine serverseitige Methode ordnungsgemäß aufrufen würden. (die ganze Seite würde übergeben.)

Haben Sie einen Unterbrechungspunkt in Ihrer serverseitigen Methode festgelegt und stellen Sie sicher, dass er aufgerufen wird (Debugging)?

Es könnte wirklich viel falsch sein, ohne mehr von Ihrem Code-Behind zu sehen.

Sie auch die Seite mit dem Onit Ereignis mit so etwas wie

verdrahten könnte einige
this.Button1+=new EventHandler(Button1_Click); 

(Nach Angabe Ihrer Taste eine ID von „Button1“)