Автозаполнение плагина JQuery и ASP.Net C # - PullRequest
1 голос
/ 26 октября 2009

Я использую плагин автозаполнения JQuery и передаю массив строк для автозаполнения (см. Код ниже). Метод, который я вызываю для получения моих данных (GetCustomerNames), просто возвращает массив строк, и это работает нормально. Мне нужно найти способ передать параметр в метод GetCustomerNames, чтобы я мог отфильтровать то, что возвращается. Кто-нибудь может помочь с этим?

Вот код разметки на странице 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>


Имя покупателя:

А вот код в коде Default.aspx.cs за страницей, реализующий метод GetCustomerNames:

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

    return data;

}

1 Ответ

1 голос
/ 26 октября 2009

Вы можете использовать хеш data для передачи параметров методу:

$.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");
    }
});

И ваш веб-метод становится:

public static string[] GetCustomerNames(string parameterName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...