【发布时间】:2009-01-19 10:36:42
【问题描述】:
我正在尝试实现为“jQuery Autocomplete and ASP.NET”提供的代码, 但无法集成它,因为您使用的是亚音速查询数据库。
那么你能告诉我如何使用C#从asp.net中的webservice查询sqldatabase并将查询结果绑定到插件吗?
【问题讨论】:
标签: asp.net jquery subsonic autocomplete
我正在尝试实现为“jQuery Autocomplete and ASP.NET”提供的代码, 但无法集成它,因为您使用的是亚音速查询数据库。
那么你能告诉我如何使用C#从asp.net中的webservice查询sqldatabase并将查询结果绑定到插件吗?
【问题讨论】:
标签: asp.net jquery subsonic autocomplete
这是一个非常简单的任务,关键是 jQuery 自动完成扩展器需要一个值数组。这是我如何解析来自 ASMX Web 服务的标准 XML 结果以与 jQuery 自动完成扩展器一起使用的示例。
由于 ASP.NET 喜欢重写你的 ID,你可以传入 ClientID 来获取动态 ID。
$("#<%= TextBox1.ClientID %>").autocomplete("/Demo/WebSvc.asmx/SuggestCustomers", {
parse: function(data) {
var parsed = [];
$(data).find("string").each(function() {
parsed[parsed.length] = {
data: [$(this).text()],
value: $(this).text(),
result: [$(this).text()]
};
});
return parsed;
},
dataType: "xml"
});
以下是关联的 Web 服务的外观,记得取消注释 Web 服务上的 [ScriptService] 属性:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WebSvc: WebService
{
[WebMethod]
public string[] SuggestedCustomers(string q)
{
// Do Query
// Add items into string array
List<string> items = new List<string>();
while (dr.Read())
{
items.Add(dr[0].ToString());
}
// Return array
return items.ToArray();
}
}
【讨论】:
我不精通 asp.net,但从根本上说,就像大多数网络编码问题一样,这涉及将您的问题分解成更小的问题。
从架构的角度来看,您的组件可能包括以下内容...
【讨论】: