如何使用jQuery与数据库交互

时间:2011-10-06 11:19:58

标签: jquery database autocomplete

我有一个恼人的问题。我在使用C#编写的Web窗体应用程序中使用ASP.NET提供的自动完成扩展程序。自动完成功能很好,没问题。

我将自动完成功能与serial_number文本字段一起使用。如果我想根据我选择的serial_number填写product_name文本字段,我需要与数据库进行交互。 这是因为为自动完成提供数据的 Web方法必须具有特定的签名,其输出参数是字符串数组

因此,一旦选择了serial_number,我需要调用一个jQuery函数,该函数给定所选的 serial_number 从数据库(SQL Server)获取相应的 product_name

有什么建议吗?感谢

更新:

提供自动填充的网络方法

[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 :(得分:0)

你有什么尝试?根据您的服务器端配置,您的jQuery可能看起来很简单:

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

如果不了解细节,很难给出一个更具体的例子。