2011-10-06 43 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

相關問題