Bonjour,

J'ai une fonction JavaScript qui appelle une WebMethod. Celle-ci effectue une recherche dans la BD au moyen d'Entity Model. J'aimerais pouvoir retourner le résultat de cette recherche vers le code client afin de mettre à jour le GridView. J'ai essayé plusieurs méthodes mais en vain.

Avez-vous des suggestions?

merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
[System.Web.Services.WebMethod]
    public static List<BottinModel.Entreprise> getCompanies(string criteria, string myGridview)
    {
        BottinModel.BottinEntities db = new BottinModel.BottinEntities();
 
        var result = (from o in db.Entreprises
                     where o.ville == criteria
                     select o).ToList();
 
        //myGridview.DataSource = result;
        //myGridview.DataBind();
        //myGridview.Visible = true;
 
        return result;
 
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
 
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="Default2" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
 
<script type="text/javascript">
 
 function parse(src, dest) {
     var ctrl = document.getElementById(src);
     var dest = document.getElementById(dest)
 PageMethods.getCompanies(ctrl.value, CallSuccess, CallFailed, dest);
}
 
function CallSuccess(res, destCtrl) {
    var dest = document.getElementById(destCtrl);
    dest.value = res;
}
 
function CallFailed(res, destCtrl) {
    alert(res.get_message());
}
 
</script>
 
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
 
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">    </asp:ScriptManager>
 
    <input name="textbox1" id="textbox1" type="text" /> 
    <input name="buttonExecute" onclick="parse('textbox1', 'GridView1')" type="button" value="Execute" /> 
 
    <input id="textbox2" type="text" /><asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
 
 
</asp:Content>