Direi che ci sono delle differenze, ma tenderei a dire farlo nel modo in cui ti senti più a tuo agio.
Ho usato entrambi gli approcci e avere chiamate jQuery dalla pagina è generalmente più veloce. Scrivo un gestore ashx che esegue il lavoro richiesto dalla jquery (interrogare il database, elaborare qualcosa, ecc.) E chiamarlo dalla pagina. Non userei una pagina aspx per una chiamata jQuery, perché stai inviando un sacco di informazioni che non ti serviranno affatto. La differenza/vantaggio dell'utilizzo di una chiamata Ajax.Net è che non è necessario creare un'altra pagina per elaborare le cose, è possibile utilizzare gli stessi eventi della pagina per farlo.
Ad esempio, se hai bisogno di riempire un secondo elenco a discesa utilizzando il valore selezionato su un primo, è possibile utilizzare Ajax.Net per chiamare il SelectedIndexChanged nel codice della pagina dietro e quando si spara andare Page Load, SelectedIndexChanged, Page_PreRender e così via. Nel metodo dell'evento si dovrebbe interrogare il db e riempire il secondo ddl.
Con jQuery potrebbe essere un po 'diverso. Effettui la chiamata a un gestore ashx, il gestore è solo un metodo server che esegue la magia e restituisce i dati nel modulo che si desidera avere (json, array di stringhe, xml, ecc.) E riempie il secondo ddl utilizzando javascript. Come ti ho detto prima, alcune persone non si sentono troppo tranquille con il codice cliente e tendono a farlo sul server, ma io dico sempre che devi usare lo strumento giusto per il lavoro giusto, quindi conosci i tuoi strumenti e applicali con saggezza
Se si desidera saperne di più su ASP.Net, i gestori ASHX e jQuery, è possibile leggere uno post che ho scritto a riguardo.
spero che helps.-
Grazie per la risposta. I pageline possono essere non statici? Ho usato le callback prima e non c'era alcun obbligo per loro di essere statico. In questo modo, potrei avere accesso ai metodi della classe base. Nei metodi di pagina, non posso. – Nick
Il mio piacere! Per quanto riguarda i metodi di pagina, deve essere statico perché Asp.Net non (e non può) creare istanze della classe Page durante l'esecuzione di un metodo di pagina. Questo articolo fa un buon lavoro per spiegare perché (e perché è generalmente auspicabile): http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static /. Detto questo, è stata una grande svista non discuterne nella mia risposta. Aggiornerò la risposta per includere tali informazioni. –
Vorrei poter raddoppiare quella risposta. Grazie Jeff! –