Home > AJAX, ASP.Net > AJAX AutoComplete with XML file

AJAX AutoComplete with XML file


Hi

try this example to use AJAX AutoComplete with XML file

Step1 :- Craete new AJAX Website

Step2 :- Add XML file called “countries.xml”

<?xml version="1.0" encoding="utf-8" ?>
<Items>
  <Item>Argentina</Item>
  <Item>Australia</Item>
  <Item>Austria</Item>
  <Item>Germany</Item>
  <Item>Egypt</Item>
  <Item>India</Item>
  <Item>Italy</Item>
  <Item>United States of America</Item>
</Items>

Step3 :- Add new Webservice with the following code


using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Collections.Generic;
using System.Xml;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "<a href="http://tempuri.org/">http://tempuri.org/</a>")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]

public class WebService : System.Web.Services.WebService
{
    [WebMethod]
    public string[] GetItemsList(string prefixText, int count)
    {
        List<string> suggestions = new List<string>();
        using (XmlTextReader reader = new XmlTextReader(HttpContext.Current.Server.MapPath("~/Countries.xml")))
        {
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "Item")
                {
                    string itemName = reader.ReadInnerXml();
                    if (itemName.StartsWith(prefixText,StringComparison.InvariantCultureIgnoreCase))
                    {
                        suggestions.Add(itemName);

                        if (suggestions.Count == count) break;
                    }
                }
            }
        }
        return suggestions.ToArray();
    }
}

Step4 :- Add new web page and drag Script Manager , TextBox , and AJAX Autocomplete controls on the page

  <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <br />
        Select Country :-<asp:TextBox ID="txt_Items" runat="server"></asp:TextBox>
        <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txt_Items"
        ServiceMethod="GetItemsList" MinimumPrefixLength="1" CompletionSetCount="10" EnableCaching="true"
        ServicePath="WebService.asmx">
        </cc1:AutoCompleteExtender>

Hope this helps

Good Luck.

Advertisements
Categories: AJAX, ASP.Net
  1. varun
    October 27, 2010 at 11:48 am

    Its woking nice.But the problem is the already selected data is repeating for the second time also.
    Any solution for that problem?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: