Je dirais qu'il y a des différences, mais je dirais plutôt que vous vous sentez plus à l'aise.
J'ai utilisé les deux approches, et avoir des appels jQuery de la page est généralement plus rapide. J'écris un gestionnaire ashx qui fait le travail dont l'appel jquery a besoin (interroger la base de données, traiter quelque chose, etc.) et l'appeler à partir de la page. Je n'utiliserais pas une page aspx pour un appel jQuery, car vous envoyez beaucoup d'informations dont vous n'avez pas besoin du tout. La différence/avantage d'utiliser un appel Ajax.Net est que vous n'avez pas besoin de construire une autre page pour traiter les choses, vous pouvez utiliser les mêmes événements de page pour le faire. Par exemple, si vous devez remplir une deuxième liste déroulante en utilisant la valeur sélectionnée sur un premier, vous pouvez utiliser Ajax.Net pour appeler le SelectedIndexChanged dans le code de la page et quand il se déclenche, allez Page_Load, SelectedIndexChanged, Page_PreRender et ainsi de suite. Dans la méthode événementielle, vous devez interroger le db et remplir le second ddl.
Avec jQuery, cela pourrait être un peu différent. Vous faites votre appel à un gestionnaire ashx, le gestionnaire est juste une méthode serveur qui fait la magie et renvoie les données sous la forme que vous voulez avoir (json, tableau de chaînes, xml, etc.) et remplit le deuxième ddl en utilisant javascript. Comme je vous l'ai déjà dit, certaines personnes ne se sentent pas trop à l'aise avec le code Client et ont tendance à le faire sur le serveur, mais je dis toujours que vous devez utiliser le bon outil pour le bon travail. appliquez-les à bon escient.
Si vous voulez en savoir plus sur ASP.Net, les gestionnaires ASHX et jQuery, vous pouvez lire un post que j'ai écrit à ce sujet.
espère qu'il helps.-
Merci pour la réponse. Les méthodes de pagem peuvent-elles être non statiques? J'ai utilisé des rappels auparavant et il n'y avait aucune exigence pour qu'ils soient statiques. De cette façon, je pourrais avoir accès aux méthodes de la classe de base. Dans les méthodes de page, je ne peux pas. – Nick
Mon plaisir! En ce qui concerne les méthodes de page, elles doivent être statiques car Asp.Net ne crée pas (et ne peut pas) créer des instances de votre classe Page lors de l'exécution d'une méthode de page. Cet article explique pourquoi (et pourquoi c'est généralement souhaitable): http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static /. Cela dit, c'était un gros défaut de ne pas en parler dans ma réponse. Je mettrai à jour la réponse pour inclure cette information. –
Je souhaite pouvoir doubler cette réponse. Merci Jeff! –