2010-09-20 6 views
0

Ceci est probablement une question simple. J'utilise ASP.NET ajax toolkit et Jquery. Je veux appeler une fonction/méthode côté serveur de Javascript et lui faire mettre à jour un contrôle. Puis-je faire ceci?Utiliser asp.net AJAX à partir de javascript

côté client

send_request(foobar,args); 

côté serveur

private void foorbar(){ 
Label1.Text = "updated"; 
} 
+0

Je suppose qu'il y a une raison pour laquelle vous ne voulez pas faire quelque chose comme ceci: $ ("# Label1"). Text ("updated"); ? –

+0

Oui, très bien. Juste utilisé le texte de l'étiquette comme exemple. –

Répondre

0
jQuery.ajax({ 
    url:'url to call', //usually webservices in asp.net 
    dataType:'json', 
    type:'POST', //(asp.net werbservices by default accepts POST request only) 
    success:function(data){ 
     //do some thing with this data, like will dom elements etc 
    } 
}); 
1

Voulez-vous lancer une méthode côté serveur et mettre à jour un contrôle côté serveur sur la page? Vous pouvez créer un UpdatePanel ASP.NET, disons qu'il y a un bouton1 à l'intérieur, et à partir de votre code JQuery, écrivez ceci.

function OnClick() 
{ 
    __doPostBack(button1.ClientID, "argument") 
} 

et dans votre code côté serveur, événement Page_Load, vous trouverez eventtarget et eventArgument dans la variable DEMANDE, qui contient les informations que vous venez de postback, vous pouvez mettre à jour le contrôle dans le UpdatePanel lui-même aussi longtemps que le contrôle est dans le UpdatePanel, il sera géré correctement par ASP.NET AJAX.

Plus de détails ici http://www.dotnetspider.com/resources/16920-Post-back-gets-demystified-doPostBack-defined.aspx

+0

J'ai placé tout dans un panneau de mise à jour et fait quelque chose comme $ ('# Year'). Change (function() { __doPostBack ("submit", ""); }); Cela fait un post complet sans Ajax. Qu'est-ce que je fais mal? Dois-je placer le script ci-dessus dans le panneau de mise à jour? –

0

@smkngspcmn:

J'ai placé tout à l'intérieur d'un panneau de mise à jour et fait quelque chose comme $ ('# Année') .change (function() {__doPostBack ("submit", "");}); Cela fait un post complet sans Ajax. Qu'est-ce que je fais mal? Dois-je placer le script ci-dessus dans le panneau de mise à jour?

Le premier argument de __doPostBack() doit être l'UniqueID d'un contrôle côté serveur dans le UpdatePanel. Par exemple, vous pouvez mettre un bouton caché dans le UpdatePanel:

<asp:Button ID="HiddenButton" runat="server" 
    style="display:none" OnClick="HiddenButton_Click" /> 

Lorsque le bouton est rendu sur la page, vous pouvez prendre le nom attribut de l'élément <input type="submit"> qui représente le bouton d'envoi et de l'utiliser pour le premier argument à _doPostBack(). De cette façon, à chaque exécution de votre script, le UpdatePanel effectuera une publication asynchrone et le gestionnaire d'événements HiddenButton_Click sera déclenché.

Questions connexes