У меня раздражающая проблема.Я использую расширитель 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>