如何使用jQuery与数据库交互
我有一个恼人的问题。我在用C编写的Web窗体应用程序中使用ASP.NET提供的自动完成扩展程序。自动完成功能很好,没有问题 我使用序列号文本字段的自动完成。如果我想根据我选择的序列号填写product_name文本字段,我需要与数据库交互。 这是因为向autocomplete提供数据的Web方法必须具有特定的签名,并且其输出参数是字符串数组 因此,一旦选择了序列号,我需要调用jQuery函数,给定所选序列号,从数据库SQL Server获取对应的产品名称 有什么建议吗?谢谢 更新: 提供自动完成的Web方法如何使用jQuery与数据库交互,jquery,database,autocomplete,Jquery,Database,Autocomplete,我有一个恼人的问题。我在用C编写的Web窗体应用程序中使用ASP.NET提供的自动完成扩展程序。自动完成功能很好,没有问题 我使用序列号文本字段的自动完成。如果我想根据我选择的序列号填写product_name文本字段,我需要与数据库交互。 这是因为向autocomplete提供数据的Web方法必须具有特定的签名,并且其输出参数是字符串数组 因此,一旦选择了序列号,我需要调用jQuery函数,给定所选序列号,从数据库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>
你试过什么?根据您的服务器端配置,jQuery看起来可能非常简单:
$.getJSON('/Products.aspx/LookupSerialNumber',
{serial_number: $('#serial_number').val()},
function(json) {
$('#product_name').val(json.product.product_name);
}
);
如果不知道具体情况,很难给出更具体的例子。谢谢!我更新了这个问题,也许它给了你一个更广阔的背景。我也不明白LookupSerialNumber是什么