我有一个恼人的问题。我在使用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>
答案 0 :(得分:0)
你有什么尝试?根据您的服务器端配置,您的jQuery可能看起来很简单:
$.getJSON('/Products.aspx/LookupSerialNumber',
{serial_number: $('#serial_number').val()},
function(json) {
$('#product_name').val(json.product.product_name);
}
);
如果不了解细节,很难给出一个更具体的例子。