ASP.NET AJAX控件之-AutoComplete

来源:互联网 发布:淘宝代理可靠吗 编辑:程序博客网 时间:2024/04/29 09:50
功能简介:
该控件主要是实现当用户在textbox输入值时与数据库交换产生提示文字....
下面时例子
default.aspx页:
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
              
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" CompletionInterval="100"
            MinimumPrefixLength="1" ServicePath="WebService.asmx" TargetControlID="TextBox1" CompletionSetCount="20" ServiceMethod="GetUsers">
        </cc1:AutoCompleteExtender>
    </form>
</body>

属性说明:
CompletionInterval:设置反映时间,例中设置的是100毫秒

MinimumPrefixLength:最少输入的字符个数

ServicePath:web service文件路径

ServiceMethod:调用web service方法名称


WebService.cs:

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Collections.Generic;
using System.Data.SqlClient;


/// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]//用于调用web service标签
public class WebService : System.Web.Services.WebService {

    public WebService () {}

    [WebMethod]
    public string[] GetUsers(string prefixText,int count)//两个参数分别是输入文本跟提示项数
    {
        List<string> items = new List<string>(count);//泛型
        SqlConnection myCon = new SqlConnection("server=.;database=TestDB;uid=sa;pwd=319");//数据库连接
        myCon.Open();//打开数据库连接
        SqlCommand myCmd=new SqlCommand("select top "+count+" *from Users where uName like '"+prefixText+"%'",myCon);
        SqlDataReader myDR = myCmd.ExecuteReader();
        while (myDR.Read())
        {
            items.Add(myDR["uName"].ToString());
        }
        myCon.Colse();//关闭数据库连接
        return items.ToArray();
    }
    
}
 
原创粉丝点击