论坛首页 编程语言技术论坛

AJAX AutoCompleteExtender自动完成google搜索样式

浏览 6992 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-17  
(注释部分是随机产生的值)
1、打开vsIDE,先建立一个ASP.NET AJAX-Enabled WebSite;
2、在界面上放一个TestBox(用来输入),属性ID-->MyAuto;(名字随意)
3、再放一个AutoCompleteExtender控件(安装好AjaxTools时自动产生的,具体产生的控件找资料看一下吧),属性ID-->ace,TargetControlID-->MyAuto(与TextBox绑定);
注:要把TextBox的ace配置一下:
    ServiceMethod==GetCompletionList(方法名)
    ServicePath==WebServices.asmx
(完成一半儿了,下面时代码)
WebService.cs
=============
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{

public WebService()
{

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public string[] GetCompletionList(string prefixText, int count)
{
Random random = new Random();

List items = new List(count);
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=tcaccp;database=TestData");
string sql = "select top " + count + " * from TestTable where Name like '" + prefixText + "%'";

conn.Open();

SqlCommand comm = new SqlCommand(sql, conn);

SqlDataReader dr = comm.ExecuteReader();

string name;
while (dr.Read())
{
name = dr["Name"].ToString().Trim();
items.Add("'" + name + "'");
}

//for (int i = 0; i < count; i++)
//{
// char c1 = (char)random.Next(65, 90);
// char c2 = (char)random.Next(97, 122);
// char c3 = (char)random.Next(48, 57);
// char c4 = (char)random.Next(33, 43);
// items.Add(prefixText + c1 + c2 + c3 + c4);
//}
conn.Close();
return items.ToArray();
}

}

  • 大小: 18 KB
   发表时间:2008-07-17  
List items = new List(count);
改为:List<string> items = new List<string>(count);
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics