web:asp.net:ajax
Table des matières
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
- 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.
- Ajouter un
ScriptManager
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
- 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