Как взаимодействовать с базой данных с помощью jQuery - PullRequest
0 голосов
/ 06 октября 2011

У меня раздражающая проблема.Я использую расширитель autocomplete , предоставленный ASP.NET, в моем приложении Web Forms, написанном на C #.Автозаполнение работает хорошо, без проблем.

Я использую автозаполнение с текстовым полем serial_number.Если я хочу заполнить текстовое поле product_name в зависимости от выбранного серийного номера, мне нужно взаимодействовать с базой данных.Это связано с тем, что веб-метод , который предоставляет данные для автозаполнения, должен иметь определенную сигнатуру, а его выходные параметры - это массив строк .

.выбранный, мне нужно вызвать функцию jQuery, которая с учетом выбранного serial_number получает соответствующие product_name из базы данных (SQL Server).

Есть предложения?Спасибо

ОБНОВЛЕНИЕ:

Веб-метод подачи автозаполнения

[System.Web.Services.WebMethod]
public static string[] GetProductId(string prefixText, int count)
{
    string selectSQL = "SELECT srnum FROM demo_product WHERE srnum LIKE'" +  prefixText + "' + '%'";
    DataTable dtProdId = dbUtil.dbGetDataTable("EMPLOYEE", selectSQL);

    List<string> listProdId = new List<string>();

    foreach (DataRow row in dtProdId.Rows)
    {
        listProdId.Add((string)row["SRNUM"]);
    }

    return listProdId.ToArray();
}

И разметка в aspx файле

<asp:TextBox runat="server" ID="txtSRNum" BackColor="#FFFF66" AutoComplete="On"></asp:TextBox>

 <!-- Autocomplete extender for product serial number -->
 <ajax:AutoCompleteExtender ID="txtSRNum_AutoCompleteExtender" runat="server"
 DelimiterCharacters="" Enabled="True" ServicePath="" TargetControlID="txtSRNum"
 MinimumPrefixLength="1" ServiceMethod="GetProductId" CompletionSetCount="5"
 CompletionInterval="50" >

    </ajax:AutoCompleteExtender>

1 Ответ

0 голосов
/ 06 октября 2011

Что вы пробовали?В зависимости от конфигурации на стороне сервера ваш jQuery может выглядеть так просто:

$.getJSON('/Products.aspx/LookupSerialNumber',
  {serial_number: $('#serial_number').val()},
  function(json) {
    $('#product_name').val(json.product.product_name);
  }
);

Трудно привести более конкретный пример, не зная специфики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...