2011-10-06 30 views
0

我有一个烦人的问题。我在用C#编写的Web Forms应用程序中使用ASP.NET提供的自动完成扩展器。自动完成功能很好,没问题。如何使用jQuery与数据库进行交互

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

因此一旦选择了SERIAL_NUMBER,我需要调用一个jQuery函数,鉴于所选择的SERIAL_NUMBER从数据库(SQL Server)的获取corresponging PRODUCT_NAME

有什么建议吗?由于

UPDATE:

Web方法喂养的自动完成

[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> 

回答

0

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

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

很难给出一个更具体的例子不知道细节。

+0

谢谢!我更新了这个问题,也许它给了你更广泛的背景。我也不明白什么LookupSerialNumber – CiccioMiami

相关问题