Asp.net 自动完成扩展器未启动

Asp.net 自动完成扩展器未启动,asp.net,ajax,asp.net-ajax,autocomplete,Asp.net,Ajax,Asp.net Ajax,Autocomplete,我有一个ajax自动完成扩展器,一切正常。我的意思是sql程序和其他程序都很好,但当我在文本框中输入一些东西时,什么也没发生。 为什么呢 这是我的密码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Configuration; using System.Data; using System.Da

我有一个ajax自动完成扩展器,一切正常。我的意思是sql程序和其他程序都很好,但当我在文本框中输入一些东西时,什么也没发生。 为什么呢

这是我的密码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

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

    string[] arr;

    public WebService () {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string[] testing(string prefixText)
    {
        if (prefixText.Length > 0)
        {
            string sql = "Select * From titles Where title like @title";

            SqlDataAdapter da = new SqlDataAdapter(sql, "myconnectionstring is here");
            da.SelectCommand.Parameters.Add("@title", SqlDbType.VarChar, 50).Value = prefixText + "%";
            DataTable dt = new DataTable();
            da.Fill(dt);

            string[] items = new string[dt.Rows.Count];

            int i = 0;

            foreach (DataRow dr in dt.Rows)
            {
                items.SetValue(dr["title"].ToString(), i);
                i++;
            }

            return items;
        }

        arr[0] = "";
        return arr;
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.Services;
使用系统配置;
使用系统数据;
使用System.Data.Sql;
使用System.Data.SqlClient;
/// 
///WebService的摘要描述
/// 
[WebService(命名空间=”http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
//要允许使用ASP.NET AJAX从脚本调用此Web服务,请取消注释以下行。
//[System.Web.Script.Services.ScriptService]
公共类WebService:System.Web.Services.WebService{
字符串[]arr;
公共Web服务(){
//如果使用设计的组件,请取消注释以下行
//初始化组件();
}
[网络方法]
公共字符串[]测试(字符串前缀)
{
如果(prefixText.Length>0)
{
string sql=“从标题中选择*,其中标题类似于@title”;
SqlDataAdapter da=新的SqlDataAdapter(sql,“myconnectionstring在这里”);
da.SelectCommand.Parameters.Add(“@title”,SqlDbType.VarChar,50)。Value=prefixText+“%”;
DataTable dt=新的DataTable();
da.填充(dt);
string[]items=新字符串[dt.Rows.Count];
int i=0;
foreach(数据行dr在dt.行中)
{
items.SetValue(dr[“title”].ToString(),i);
i++;
}
退货项目;
}
arr[0]=“”;
返回arr;
}
}
Html端:

<%@ Page Title="" Language="C#" MasterPageFile="~/adminpanel/adminpanel.master" AutoEventWireup="true" CodeFile="autocomplete.aspx.cs" Inherits="adminpanel_autocomplete" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
        MinimumPrefixLength="1" ServiceMethod="testing" ServicePath="WebService.asmx" TargetControlID="TextBox1" Enabled="true">
    </asp:AutoCompleteExtender>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

我编写了jQuery自动完成处理程序。 所以我修正了我的问题。 但是仍然找不到ajax自动完成扩展程序的问题。
谢谢。

您需要从Web服务中取消对以下行的注释:

// [System.Web.Script.Services.ScriptService]

浏览器中的错误说明什么是错误的?没有错误。当我在文本框中输入某个内容时,它没有启动,或者什么也没有发生。没有任何东西来自我的Web服务。