This is c# .net 2.0. I am using a masterpage.
- The WebService works fine on its own.
- I am completely stumped. When I type in the TextBox, nothing happens.
Files:
EditTicket.aspx AutoComplete.asmx App_Code/AutoComplete.cs
EditTicket.aspx:
<%@ Register Assembly='AjaxControlToolkit' Namespace='AjaxControlToolkit' TagPrefix='cc2' %> <asp:ScriptManager id='ScriptManager1' runat='server' EnablepageMethods='true'> <Services> <asp:ServiceReference Path='AutoComplete.asmx' /> </Services> </asp:ScriptManager> <cc2:AutoCompleteExtender runat='server' ID='AutoCompleteExtender1' ServicePath='AutoComplete.asmx' ServiceMethod='AutoComplete2' MinimumPrefixLength='1' CompletionSetCount='12' TargetControlID='TextBox3' EnableCaching='True' > </cc2:AutoCompleteExtender> <asp:TextBox ID='TextBox3' runat='server'></asp:TextBox>
AutoComplete.asmx:
<%@ WebService Language='C#' CodeBehind='~/App_Code/AutoComplete.cs' Class='AutoComplete' %>
AutoComplete.cs:
using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Script.Services; using System.Web.Services.Protocols; using System.Collections.Generic; using System.Data.SqlClient; using System.Configuration; using System.Data; /// <summary> /// Summary description for AutoComplete /// </summary> [WebService(Namespace = 'http://tempuri.org/')] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public class AutoComplete : System.Web.Services.WebService { public AutoComplete () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] [ScriptMethod] public string[] AutoComplete2(string prefixText,int count) { string conString = ConfigurationManager.ConnectionStrings['DB'].ConnectionString; SqlConnection connection = new SqlConnection(conString); connection.Open(); SqlParameter prm; string sql = 'Select program_name FROM CM_Programs WHERE program_name LIKE @prefixText'; SqlDataAdapter cmd = new SqlDataAdapter(sql, connection); prm = new SqlParameter('@prefixText', SqlDbType.VarChar, 50); prm.Value = prefixText+ '%'; cmd.SelectCommand.Parameters.Add(prm); DataTable dt = new DataTable(); cmd.Fill(dt); string[] items = new string[dt.Rows.Count]; int i = 0; foreach (DataRow dr in dt.Rows) { items.SetValue(dr['program_name'].ToString(),i); i++; } connection.Close(); return items; } }
‘Nothing happens’ is not an easy description to go on. When you say nothing happens, have you checked that
If ‘nothing’ is that none of the above is happening, I would start checking that there are no javascript errors on the page and that your AutoComplete extender is rendering correctly (examine the page controls in a trace).