AJAX AutocompleteExtender ne fonctionne pas. Service Web fonctionne

C'est le c# .net 2.0. Je suis l'aide d'une masterpage.

  • Le WebService fonctionne très bien sur son propre.
  • Je suis complètement perplexe. Quand je tape dans la zone de texte, rien ne se passe.

Fichiers:

EditTicket.aspx
La saisie semi-automatique.asmx
App_Code/Saisie Semi-Automatique.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>

De saisie semi-automatique.asmx:

<%@ WebService Language="C#" CodeBehind="~/App_Code/AutoComplete.cs" Class="AutoComplete" %>

De saisie semi-automatique.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;
} 
}
InformationsquelleAutor somacore | 2009-04-08