6
votes

Appeler le code ASP.NET derrière la fonction de JavaScript

est-il possible d'appeler la fonction ASP.NET CODEBeHind à partir de JavaScript.


2 commentaires

Pourquoi cela n'est-il pas fermé comme un duplicata? Stackoverflow .com / questions / 3709426 / ...


Dupliqué possible de appelant la méthode côté serveur ASP.NET via jQuery


6 Réponses :


2
votes

Non, il n'est pas possible d'appeler le code ASP.NET derrière la fonction de JavaScript directement. ASP.NET Code derrière Exécute sur le serveur dans le contexte du processus de travailleur ASP.NET. JavaScript est exécuté sur le client dans le contexte du navigateur du client.

La seule façon La seule façon JavaScript pourrait déclencher l'exécution du code ASP.NET derrière consiste à effectuer un appel AJAX à partir du JavaScript sur le serveur.


5 commentaires

@Aristos - Comment avez-vous l'intention d'appeler une méthode côté serveur à partir du navigateur sans utiliser Ajax?


@Michael Vous venez d'appeler une page avec vos paramètres et à la page où vous renvoyez 204 code d'état. Faire un test pour le voir. :)


@Aristos - Vous ne pouvez pas "appeler" une page. Vous pouvez faire une demande HTTP, mais rien ne garantit qu'il existe un autre agent HTTP à l'écoute de l'adresse de terminaison, ou que cet agent répondra, ou que la réponse ne sera pas une copie des caches de la demande précédente renvoyée par un intermédiaire. En d'autres termes - il n'y a aucune garantie qu'un code sera exécuté à la suite de cette demande HTTP. (Eh bien, largement parler, un code sera toujours exécuté, bien sûr, mais il pourrait bien être le code que vous souhaitez / attendez :-))


@FANCI @MICHALE Je place une réponse ici avec l'exemple de code d'état 204.


@Michael Oui, vous ne pouvez pas avoir de commentaires sur votre utilisateur que le code est enfin exécuté. Ok, ce n'est qu'un exemple et un moyen de l'appeler, pas le parfait, juste une manière. Cependant, si le code n'est pas exécuté, le 204 n'est pas renvoyé et une page vide apparaît que la page ne peut pas charger.



0
votes

Vous pouvez utiliser __ dopostback pour créer un publication de JavaScript. Ajoutez simplement un contrôle de serveur avec Autopostback propriété et définissez-le sur True.

voir appeler __dopostback dans JavaScript < / fort>


0 commentaires

9
votes

Oui, vous pouvez créer une méthode Web comme .. xxx

puis appelez javascript comme .. xxx

Ceci aussi besoin ajouter xxx


2 commentaires

@Muhammad: Avez-vous besoin d'utiliser un scriptManager pour que cela fonctionne? Pourriez-vous montrer que Markup, s'il vous plaît?


Oui, c'est une façon de faire un appel Ajax.



9
votes

Je préférerais une approche de pageMethod Muhammad Akhtar. Juste une notes courte: vous n'avez pas besoin du scriptManager. Le scriptManager ne génère que les méthodes de proxy JavaScript pour vous. Si vous avez déjà JQuery sur votre page, vous pouvez oublier le scriptManager et écrire quelque chose comme celui-ci sur votre page à la place:

<script type ="text/javascript">
    $(document).ready(function() {
        $("#AjaxLink").click(function(e) {
            e.preventDefault();
            $.ajax({
                type: "POST",
                url: "YourPage.aspx/updateContent",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(result) {
                    $("#content").html(result.d);
                }
            });
        });
     });
</script>


0 commentaires

0
votes

Si vous travaillez sur un projet non-Ajax, vous pouvez essayer System.Web.UI.ICALLBACKEVENTHANDLER.

échantillons ici:

http://msdn.microsoft.com/en-us/library /ms178210.aspx

http://www.ajaxmatters.com/ 2006/05 / Utilisation-ICALLBACKEVENTHANDLER-IN-ASP-NET /


1 commentaires

Cela utilise toujours Ajax sous le capot - pour faire un appel HTTP hors limites sur le serveur.



3
votes

Fonction CS
$("#control").click(function()
{
  PageMethods.set_single_amount(value,afercalling)
});

function afercalling(result)
{
alert(result);
}


0 commentaires