Outils pour utilisateurs

Outils du site


web:asp.net:ajax

ASP.NET Ajax

Web services

La majorité des services web sous ASP.NET sont implémentés dans des fichiers Services web (*.asmx). On peut ajouter un tel fichier à un projet ASP.NET Ajax standard.

Employe.cs
public class Employe
{
    public int Id { get; set; }
    public string Prenom { get; set; }
    public string Nom { get; set; }
}

Ajouter au projet un service web :

EmployeService.asmx.cs
/// <summary>
/// Description résumée de Employes
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Pour autoriser l'appel de ce service Web depuis un script à l'aide d'ASP.NET AJAX,
// supprimez les marques de commentaire de la ligne suivante. 
// [System.Web.Script.Services.ScriptService]
public class Employes : System.Web.Services.WebService
{
    public List<Employe> GetListeEmployes(CustomDataContext db)
    {
        return (from r in db.Employes
                select r).ToList();
    }
 
    [WebMethod]
    public Employe[] GetEmployesWebMethod(){{:web:toolbar_ajax_sm.gif|}}
    {
        List<Employe> employes;
        using (CustomDataContext db = new CustomDataContext())
        {
            employes = GetListeEmployes(db); 
        }
       return employes.ToArray();
    }
}

Si ce n'est pas déjà fait dans le formulaire web, ajouter un ScriptManager :

<asp:ScriptManager ID="ScriptManager1" runat="server" >
   <Services>
      <asp:ServiceReference Path="EmployeService.asmx" />
   </Services>
</asp:ScriptManager>

C'est possible d'éditer les services du ScriptManager en accédant à ses propriétés Services qui est une collection.

Service web dans un formulaire web

[System.Web.Script.Services.ScriptService]

Services Web dans une page ASPX

  1. Ajouter les décorateur à la méthode de service web
    [System.Web.Services.WebMethod()]
    [System.Web.Script.Services.ScriptMethod()] 
    public static void WebMethode(int id) 
    {
    }
    • La méthode doit être statique.
  2. Ajouter un ScriptManager
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
  3. Ajouter le code JavaScript qui appelera la webmethod
    function AppelerWebMethode(id)
    {
        PageMethods.WebMethode(id);
    }

Sources

web/asp.net/ajax.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1