2009-10-26 3 views
1

J'utilise le plug-in JQuery autocomplete et je passe un tableau de chaînes à compléter automatiquement (voir le code ci-dessous). La méthode que j'appelle pour obtenir mes données (GetCustomerNames) renvoie juste un tableau de chaînes, et cela fonctionne très bien. J'ai besoin de trouver un moyen de passer un paramètre à la méthode GetCustomerNames afin que je puisse filtrer ce qui est retourné. Quelqu'un peut-il aider avec ceci?Plug-in JQuery de saisie semi-automatique et ASP.Net C#

Voici le code de balisage dans la page Default.aspx:

<head runat="server"> 
<title></title> 
<script type="text/javascript" src="js/jquery-1.3.2.js" ></script> 
<script type="text/javascript" src="js/jquery.autocomplete.js" ></script> 
<script type="text/javascript"> 
    //Working, but uses results output to an aspx page using StringBuilder, trying 
    //to find a way to get the data with json 
    //$(document).ready(function() { 
     // $("#example").autocomplete('AutoCompleteData.aspx'); 

    //}); 
    $(document).ready(function() { 
     $("#example").keyup(function() { 
      $.ajax({ 
       type: "POST", 
       url: "Default.aspx/GetCustomerNames", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(msg) {  
        $("#example").autocomplete(msg.d); 
       }, 
       error: function(msg) { 
        alert("error"); 
       } 
      });  
     }); 
    });  
</script> 


Nom du client:

Et voici le code dans le Default.aspx.cs code derrière la page implémentant la méthode GetCustomerNames:

[WebMethod] 
public static string[] GetCustomerNames() 
{ 
    string[] data = new string[] {"Andrew", "Ramona", "Russ", "Russell", "Raymond"}; 

    return data; 

} 

Répondre

1

Vous pouvez utiliser le hachage data pour passer des paramètres à la méthode:

$.ajax({ 
    type: 'POST', 
    url: 'Default.aspx/GetCustomerNames', 
    data: '{ parameterName: "some test value" }', 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: function(msg) { 
     $("#example").autocomplete(msg.d); 
    }, 
    error: function(msg) { 
     alert("error"); 
    } 
}); 

Et votre méthode web devient:

public static string[] GetCustomerNames(string parameterName) 
Questions connexes