AjaxControlTookit系列之AutoComplete
2008-10-26 10:34
357 查看
这里要实现的是AjaxControlTookit的AutoComplete功能,这个功能用在一般的页面搜索的地方,使用起来非常的简单,不过你如果想扩展的话,那就得另外想办法了,这里只介绍AutoCompleteExtender这个控件是如何实现的,好下面开始。
还是先让大家看看效果图吧:
页面部分:
页面设置很简单,就是拖一个ScriptManager,再拖个UpdatePanel,最后再拖个AutoCompleteExtender放到ContentTemplate里,这里主要的是要设置AutoCompleteExtender里面的属性,其实也很容易理解,大家一看就会明白了,不用我多说了。
接下来是新建一个Web服务,如GetItems.asmx,它的代码如下:
这里需要注意的地方有:
1、在类的前面要标注[ScriptService]
2、在方法的前面要标注[ScriptMethod]
3、参数的名称请不要改,就是string prefixText, int count
做到以上几点就可以实现了,没有试过的朋友赶紧去试试吧!~。
如果你有更好的想法或意见,可以留言。
还是先让大家看看效果图吧:
页面部分:
<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> 作者:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="查询" OnClick="Button1_Click" /> <br /> <ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" MinimumPrefixLength="1" TargetControlID="TextBox1" ServiceMethod="GetSearchWriter" ServicePath="GetItems.asmx" CompletionInterval="1000" EnableCaching="false"> </ajaxToolkit:AutoCompleteExtender> </ContentTemplate> </asp:UpdatePanel> </form>
页面设置很简单,就是拖一个ScriptManager,再拖个UpdatePanel,最后再拖个AutoCompleteExtender放到ContentTemplate里,这里主要的是要设置AutoCompleteExtender里面的属性,其实也很容易理解,大家一看就会明白了,不用我多说了。
接下来是新建一个Web服务,如GetItems.asmx,它的代码如下:
using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Web.Script.Services; using System.Configuration; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public class GetItems : System.Web.Services.WebService { [WebMethod] [ScriptMethod] public string[] GetSearchWriter(string prefixText, int count) { try { SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql2005Express"].ConnectionString); string sql = "SELECT DISTINCT TOP " + count + " newswriter FROM testNews WHERE newswriter like '%" + prefixText + "%' "; SqlCommand cmd = new SqlCommand(sql, cn); List<string> listnews = new List<string>(); cn.Open(); //newswriter SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { listnews.Add(dr[0].ToString()); } dr.Close(); cn.Close(); return listnews.ToArray(); } catch (Exception ex) { throw ex; } } }
这里需要注意的地方有:
1、在类的前面要标注[ScriptService]
2、在方法的前面要标注[ScriptMethod]
3、参数的名称请不要改,就是string prefixText, int count
做到以上几点就可以实现了,没有试过的朋友赶紧去试试吧!~。
如果你有更好的想法或意见,可以留言。
相关文章推荐
- AjaxControlTookit中的AutoCompleteExtender位置错位问题 ListSearchExtender不支持中文的问题
- AjaxControlTookit系列之Calendar
- AjaxControlTookit中的AutoCompleteExtender位置错位问题 ListSearchExtender不支持中文的问题
- AjaxControlTookit系列之CollapsiblePanel
- AjaxControlTookit系列之PasswordStrength
- AJAXControlTooKit实用控件使用详解
- asp.net ajax 1.0 精选ajax controltookit控件介绍2
- 使用ajax control tookit 局部刷新
- asp.net ajax 1.0 精选ajax controltookit控件介绍2
- ASP.NET AJAX Control Tookit 使用文档
- Tip:在使用AjaxControlTookit的控件时响应事件
- ASP.NET AJAX Control Tookit 使用文档
- Tip:在使用AjaxControlTookit的控件时响应事件
- Tip:在使用AjaxControlTookit的控件时响应事件
- vs2010 安装ajax controltookit
- AjaxControlTookit的ModalPopupExtender弹出应用
- 调试AjaxControlTookit项目排错记录
- ASP.NET AJAX Control Tookit 使用文档
- AJAXControlTooKit实用控件使用详解
- asp.net ajax 1.0 精选ajax controltookit控件介绍2