asp.net+ajax+sqlserver自动补全功能实现解析

所属分类: 网络编程 / ASP.NET 阅读数: 725
收藏 0 赞 0 分享
代码下载

说明:数据库连接字符串在web.config文件中,为方便运行使用的是官方的Northwind数据库。

参考(向其作者致敬):

² http://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<string> sorts = new List<string>();
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>
<link href="Styles/jquery.autocomplete.css" rel="stylesheet" type="text/css" />

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。
更多精彩内容其他人还在看

asp.net 页面间传值与跳转的区别

通过Server.Transfer("b.aspx") 与Response.Redirect("b.aspx")的区别
收藏 0 赞 0 分享

ASP.NET Gridview与checkbox全选、全不选实现代码

ASP.NET Gridview checkbox全选与全不选实现代码,其实原理就是利用js来实现的,但需要简单的设置下回传。
收藏 0 赞 0 分享

ASP.NET DropDownList控件的使用方法

ASP.NET DropDownList控件的使用方法,学习asp.net的朋友没用过这个控件的朋友可以参考下。
收藏 0 赞 0 分享

一些.NET对多线程异常处理技巧分享

多线程应用,在实际的项目或产品开发中,原则上来说,应该尽量避免,但是在强调用户体验的要求下或开发平台的限制下(如 Silverlight Socket 通讯),我们不得不用多线程。
收藏 0 赞 0 分享

ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法

同一相站点,有些页面的客户端验证能工作,而有些死活不行。打开页面就出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null错误
收藏 0 赞 0 分享

asp.net 通用分页显示辅助类(改进版)

在使用ASP.NET编程时,如果不用控件的默认分页功能,想自己搞一个,可以看看本文的asp.net通用分页显示辅助类哦。
收藏 0 赞 0 分享

微软 Visual Studio 2010官方下载地址给大家

昨天VS2010在网上报道都已经发布了,现在今天在网上找到Visual Studio 2010官方下载地址,提供给大家下载。
收藏 0 赞 0 分享

Javascript 直接调用服务器C#代码 ASP.NET Ajax实例

近来总有一些朋友会问到一些入门的问题,把这些问题整理一下,写出来。在以前的文章里,曾经利用纯JS编写过Ajax引擎,在真正开发的时候,大家都不喜欢以这种低效率的方式开发,利用MS Ajax的集成的引擎,可以简单不少工作。
收藏 0 赞 0 分享

ASP.NET 页面刷新的实现方法(包括html,js)

ASP.NET 页面刷新的实现方法,比较全了, 包括html与js下的实现方法。
收藏 0 赞 0 分享

asp.net 无刷新翻页就是这么简单

前两天看了一个自定义分页控件,和AspNetPager一样是实现IPostBackEventHandler接口,不过简洁许多,就想能不能实现ICallbackEventHandler接口做到无刷新分页呢?想到了就马上去做,终于,设想变成了现实!!
收藏 0 赞 0 分享
查看更多