欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net + ajax + sqlserver 自动补全功能

程序员文章站 2022-05-04 10:53:07
  参考(向其作者致敬): ² https://www.loveweb8.com/plus/demo.php?aid=57这个例子是html源码。利用jquer...

 

参考(向其作者致敬):

² https://www.loveweb8.com/plus/demo.php?aid=57这个例子是html源码。利用jquery.autocomplete插件利用js实现了自动补全功能。由于我的需要是结合sqlserver数据库表实现自动补全功能。就下来就是将数据库表转为js数组,自然而然就想到了ajax。

² Asp.NetAjax的两种基本开发模式这篇文章中的第二部分就是说:js调用webservice的示例。

 

代码解析。

1. 添加webservice文件。

添加新项--“启用了AJAX的WCF服务” 将新文件命名为DBService.svc.

 

2. 在DBService.svc中添加函数,函数返回值就是 提示自动补全的数据。

 

[OperationContract]
public string getSortList()
{
    List sorts = new List();
    using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings[zhui.pc].ConnectionString))
    {
        cn.Open();
        SqlCommand cmd = new SqlCommand(select [LastName] from [dbo].[Employees], cn);
        DataTable dt = new DataTable();
        using (SqlDataAdapter da = new SqlDataAdapter(cmd))
        {
            da.Fill(dt);
        }

        foreach (DataRow row in dt.Rows)
        {
            sorts.Add(row[0].ToString());
        }

        cn.Close();
    }
    return string.Join(,, sorts.ToArray());
}

 

 

3. 在default.aspx文件添加js、css文件:

 

<script src=Scripts/jquery-1.7.1.min.js type=text/javascript></script>
<script src=Scripts/jquery.autocomplete.min.js type=text/javascript></script>

 

4. 在default.aspx的head部分中$().ready(function ())函数中调用webservice获取自动补全的数据,并将数据关联到输入框中。

 

<script type=text/javascript>
    $().ready(function () {
        
        NewsSort.getSortList(OnComplete, OnFailed, null);

        function OnComplete(args, context) {
            $('#MainContent_searchBox').AutoComplete({
                'data': args.split(,),
                'itemHeight': 20,
                'listDirection': 'down',
                'width': 280
            }).AutoComplete('show');
        }

        function OnFailed(args) {
            alert(出错了!);
        }
    });
</script>

 


5. Finish。项目发布后如果提示webservice找不到对象,请参考了https://www.cnblogs.com/aspnethot/articles/2421678.html