Question

J'utilise asp.net ajax version 1.0 sur asp.net 2.0. (Je ne peux pas encore passer à la version 3.5)

J'avais un PageMethod qui serait appelé par Javascript. Cela a fonctionné parfaitement jusqu'à ce que j'ai ajouté un UpdatePanel à une autre partie de la page. Maintenant, lorsque je lance la page avec le débogage activé, le point d'arrêt de la méthode de pagemethod n'est jamais appelé. Lorsque je regarde dans firebug ce qui est renvoyé lorsque la publication dans la méthode PageMethod est appelée, je remarque que la page aspx entière est renvoyée au lieu de la valeur d'appels uniquement. Qu'est-ce que j'ai fait?

Voici l'appel Javascript à la méthode de page:

function EndRequestHandler(sender, args) {
    $('#selectedCHK').change(
        function() {
            var chkedInput = $('#selectedCHK');
            var networkRead = chkedInput[0].checked;
            PageMethods.ChangeSelectedNetworkReadFlag(routeNum, 
                                                      networkRead, 
                                                      function(msg) { alert(msg);  });
        }
    );
}
$(document).ready(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}

L'intérêt d'appeler la fonction EndRequestHandler à la fin de chaque demande est que l'élément portant l'id '#selectedCHK' se trouve dans le panneau de mise à jour et que l'événement doit être défini chaque fois que le UpdatePanel est actualisé.

Était-ce utile?

La solution 2

J'ai compris cela et c'était un problème de configuration. Plus précisément, je devais ajouter:

<httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>

à l'intérieur du < system.web > section.

Je pensais que j'avais correctement configuré le site, mais j'ai décidé de consulter documentation étape par étape.

Autres conseils

Essayez de définir le code de mise à jour en fonction de votre panneau de mise à jour. On dirait que le panneau de mise à jour détourne vos événements.

<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server">
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top