Chiamare un metodo di una pagina aspx con jQuery è una questione di poche righe di codice, il framework .NET e jQuery faranno gran parte del lavoro.

Innanzitutto dichiariamo una nuova classe che utilizzeremo come argomento del nostro metodo
    public class ClasseTest
    {
        public int Intero { get; set; }
        public string Stringa { get; set; }
    }

Definiamo il nostro metodo e aggiungiamogli il tag WebMethod, alla classe della pagina aggiungiamo il tag [ScriptService]
        [WebMethod]
        public static ClasseTest Modifica(ClasseTest MioOggetto)
        {
            MioOggetto.Intero = MioOggetto.Intero * 2;
            MioOggetto.Stringa = MioOggetto.Stringa.ToUpper();
            return MioOggetto;
        }

    [ScriptService]
    public partial class Pagina : System.Web.UI.Page

 

La parte più delicata di tutto il procedimento è costruire le istanze degli oggetti da inviare al metodo. Per questo lavoro utilizzeremo il metodo javascript JSON.Stringify() e una variabile di supporto. La variabile javascript deve chiamarsi esattamente come il parametro il ingresso del metodo. Il valore di ritorno della funzione viene salvato nella variabile javascript data.d
        var Supporto = new Object();
        Supporto.MioOggetto = new Object();
        Supporto.MioOggetto.Intero = 5;
        Supporto.MioOggetto.Stringa = "pippo";
        $.ajax({
            type: "POST",
            url: '/Pagina.aspx/Modifica',
            data: JSON.stringify(Supporto),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
              
            },
            error: function () { alert('errore'); }

        });

Ovviamente nelle funzioni di callback success e error è possibile eseguire tutto il codice javascript necessario. Ringraziamo http://encosia.com/ per i numerosi spunti di riflessione ed esempi forniti. 

comments powered by Disqus