jquery ui使用列表自动完成<&燃气轮机;对象
我正在申请信用卡。 以下是我的web方法:jquery ui使用列表自动完成<&燃气轮机;对象,jquery,asp.net,ajax,database,autocomplete,Jquery,Asp.net,Ajax,Database,Autocomplete,我正在申请信用卡。 以下是我的web方法: [System.Web.Services.WebMethod] public static List<database> kartListele(int bin) { SqlConnection con = new SqlConnection("Server=.\\SQLEXPRESS;Database=kredikart;Integrated Security=True;"); database db = new dat
[System.Web.Services.WebMethod]
public static List<database> kartListele(int bin)
{
SqlConnection con = new SqlConnection("Server=.\\SQLEXPRESS;Database=kredikart;Integrated Security=True;");
database db = new database();
List<database> dondurulecek = new List<database>();
SqlCommand cmd = new SqlCommand("listele", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@binNo", SqlDbType.Int).Value = bin;
con.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
while (dr.Read())
{
db.banka_adi = dr.GetString(0);
db.type = dr.GetString(1);
db.sub_type = dr.GetString(2);
dondurulecek.Add(db);
}
}
}
con.Close();
return dondurulecek;
}
[System.Web.Services.WebMethod]
公共静态列表kartListele(int-bin)
{
SqlConnection con=newsqlconnection(“服务器=。\\SQLEXPRESS;数据库=kredikart;集成安全性=True;”;
数据库db=新数据库();
List dondurulecek=新列表();
SqlCommand cmd=新的SqlCommand(“listele”,con);
cmd.CommandType=CommandType.storedProcess;
cmd.Parameters.Add(“@binNo”,SqlDbType.Int).Value=bin;
con.Open();
使用(SqlDataReader dr=cmd.ExecuteReader())
{
如果(哈斯罗博士)
{
while(dr.Read())
{
db.banka_adi=dr.GetString(0);
db.type=dr.GetString(1);
db.sub_type=dr.GetString(2);
添加(db);
}
}
}
con.Close();
返回dondurulecek;
}
但我不知道如何将我的“dondurulecek”对象转换为jquery中的自动完成函数。我在很多网站上尝试了这么多的例子,但都不起作用
我需要一个ajax函数来使用这个列表对象
有什么帮助吗
编辑:我将此代码写入default.aspx:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" type="text/css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript">
$(function() {
$(".araTxt").autocomplete({
source: function(request, response) {
$.ajax({
url: "WebService.asmx/kartListele",
data: "{ 'bin': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item
}
}))
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
minLength: 5
});
});
</script>
<asp:Textbox ID="query" runat="server" CssClass="araTxt"/>
$(函数(){
$(“.aratx”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“WebService.asmx/kartListele”,
数据:“{'bin':'”+request.term+“}”,
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
响应($.map)(数据.d,函数(项){
返回{
价值:项目
}
}))
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(文本状态);
}
});
},
最小长度:5
});
});
我找到了解决方案。我不应该写我的webmethod“静态”。刚去除静电,它就像一个符咒 能否显示调用此页面方法的代码(客户端)?您使用的是ASP.NET AJAX(PageMethods.kartListele(bin))还是jQuery$.AJAX()?我会将对象转换为json对象,并使用AJAX在客户端检索它。karl,我编辑了我的问题。你能再看一下吗?我把这个方法写到了一个asmx文件中。