Madha V

Madha V

  • NA
  • 13
  • 11.6k

AutoComplete Extender not Calling Web Service

Mar 25 2011 12:50 AM
Hi All,

   I am using AutoComplete ASP.NET AJAX Control toolkit AutoCompleteExtender control
When I am using my web service as Service Path, its not working.
my web services code below.

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

namespace OnlineSalesGrid
{
    /// <summary>
    /// Summary description for WebService1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 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 WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod (true )]
        [ScriptMethod ]
        public  string[] GetCompletionList(string prefixText)
        {
         
        DataSet dtst = new DataSet();
        SqlConnection sqlCon = new SqlConnection("Data Source=CARPATHIA\\SQLEXPRESS;Initial Catalog=OnlinesaleGrid;Persist Security Info=True;User ID=sa;Password=c0rpusdata");
        string strSql =  "select Customer_Name from Customer_Master where Customer_Name like '%" + prefixText + "%'";
        SqlCommand sqlComd = new SqlCommand(strSql, sqlCon);
        sqlCon.Open();
        SqlDataAdapter sqlAdpt = new SqlDataAdapter();
        sqlAdpt.SelectCommand = sqlComd;
        sqlAdpt.Fill(dtst);
        string[] cntName = new string[dtst.Tables[0].Rows.Count];
        int i = 0;
        try
        {
           foreach (DataRow rdr in dtst.Tables[0].Rows)
            {
                cntName.SetValue(rdr["Customer_Name"].ToString(), i);
               i++;
            }
        }
        catch { }
        finally
        {
            sqlCon.Close();
        }
        return cntName;
        }

      
        [WebMethod(true)]
        [ScriptMethod]
        public  string[] GetCompletionList1(string prefixText)
        {
            DataSet dtst = new DataSet();
            SqlConnection sqlCon = new SqlConnection("Data Source=CARPATHIA\\SQLEXPRESS;Initial Catalog=OnlinesaleGrid;Persist Security Info=True;User ID=sa;Password=c0rpusdata");
            string strSql = "select Customer_Code from Customer_Master where Customer_Code like '%" + prefixText + "%'";
            SqlCommand sqlComd = new SqlCommand(strSql, sqlCon);
            sqlCon.Open();
            SqlDataAdapter sqlAdpt = new SqlDataAdapter();
            sqlAdpt.SelectCommand = sqlComd;
            sqlAdpt.Fill(dtst);
            string[] cntName = new string[dtst.Tables[0].Rows.Count];
            int i = 0;
            try
            {
                foreach (DataRow rdr in dtst.Tables[0].Rows)
                {
                    cntName.SetValue(rdr["Customer_Code"].ToString(), i);
                    i++;
                }
            }
            catch { }
            finally
            {
                sqlCon.Close();
            }
            return cntName;

          
        }

    }
}

Html Code.
  <asp:ScriptManager ID="toolscpt1" runat="server" EnablepageMethods="true" >
            <Services>
                <asp:ServiceReference Path="WebService1.asmx" InlineScript="true" />
            </Services>
</asp:ScriptManager>


<asp:TextBox
            ID="txtcname" runat="server" CssClass="textbox"  onBlur='funblurcolor(this.id)' onFocus='focuscolor(this.id)'
            ontextchanged="txtcname_TextChanged1" onkeypress="javascript:if(window.event.keyCode == 13) document.getElementById('txtphno').focus" ></asp:TextBox>


   <asp:AutoCompleteExtender ID="txtcname_AutoComplete" runat="server"
             Enabled="True" ServicePath="WebService1.asmx" ServiceMethod ="GetCompletionList" TargetControlID="txtcname"
            UseContextKey="True">
        </asp:AutoCompleteExtender>

can any one  tell me wat is problem.if i run web service individually means the web method will be returned but when i calling web service in auto complelete extender its not working



Answers (2)