2009-03-12 8 views
0

Actuellement, j'utilise jQuery sur ma page de contenu asp.net (en utilisant master). Je crée un dialogue modal en utilisant jquery. Le div qui est défini par le code suivantFonction de serveur d'appel à partir de la boîte de dialogue jquery

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

Il y a un bouton HTML qui obtient pressé, et lorsque le bouton est pressé, il appelle le code suivant

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

Et le modal est défini avec le code suivant:

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

le Modal est rempli lorsque le bouton HTML est cliqué, et le bouton ASP.NET ne remet pas sa fonction côté serveur quand il est cliqué. Le div d'exemple réside à l'intérieur des balises, il devrait donc appeler la fonction côté serveur. Quel pourrait être le problème?

+0

Je pense que nous allons avoir besoin de voir code pour vous aider. Pouvez-vous assainir le code afin que nous puissions avoir une idée de ce sur quoi vous travaillez? –

+0

vous utilisez des pages Web asp.net ou asp.net mvc? – TStamper

+0

Première partie $ ("ctl00_AdditionalScripting_example"). AddClass ("flora"). Dialog ({autoOpen: false, modal: true, hauteur: 400, superposition: overlayCss, bgiframe: true}); (".okButton"). Click (fonction (e) {if (validateControls() == vrai) {$ ("# ctl00_AdditionalScripting_example"). Dialogue ("open"); e.preventDefault(); –

Répondre

3

Pas assez d'informations pour vous aider probablement ... mais essayez ce lien.

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

Edit:

Il semble que cette question a été édité donc je modifier ma réponse ...

Utilisez ce qui précède, si vous manquez votre bouton pour appeler la méthode de Serverside jquery sans poster la page.

Il semble maintenant que vous appeliez correctement une méthode côté serveur. (toute la page serait soumise.)

Avez-vous défini un point d'arrêt dans votre méthode côté serveur et assurez-vous qu'il est appelé (débogage)?

Il pourrait vraiment y avoir beaucoup de mal sans voir plus de votre code-behind.

Vous pouvez également câbler la page à l'événement Onit avec quelque chose comme

this.Button1+=new EventHandler(Button1_Click); 

(Après avoir donné votre bouton un ID de « Button1 »)

Questions connexes