Hi All,
I have search some documents from web and try to develope the autocomplete by myself. However, it can't work and I really can't find out what the problem is. Would someone give me some advice?
1. I have created a App_Code folder under my project manually
2. Created a AutoComplete.asmx under the App_Code folder
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace SHS.App_Code
{
/// <summary>
/// Summary description for AutoComplete
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class AutoComplete : System.Web.Services.WebService
{
public AutoComplete()
{
}
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string[] GetCompletion(string prefixText, int count)
{
if (count == 0)
{
count = 10;
}
List<string> tmp = new List<string>(count);
Random rnd = new Random();
for (int i = 1; i < count; i++)
tmp.Add(prefixText + rnd.Next(10).ToString() + rnd.Next(10).ToString() + rnd.Next(10).ToString());
return tmp.ToArray();
}
}
}
3. Create test2.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="test2.aspx.cs" Inherits="SHS.Views.temp.test2" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path = "~/App_Code/AutoComplete.asmx"/>
</Services>
</ajax:ToolkitScriptManager>
<div>
<asp:Label ID="ErrMsg" runat="server" Text="Label"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="AutoCompleteExtender1"
runat="server"
TargetControlID="TextBox1"
ServiceMethod="GetCompletion"
ServicePath="~/App_Code/AutoComplete.asmx"
MinimumPrefixLength="2"
CompletionInterval = "1"
CompletionSetCount="10"
EnableCaching="true">
</ajax:AutoCompleteExtender>
</div>
</asp:Content>