C# Asp.net ajax autocomplete不使用AutoCompleteXtender

C# Asp.net ajax autocomplete不使用AutoCompleteXtender,c#,asp.net,ajax,autocompleteextender,C#,Asp.net,Ajax,Autocompleteextender,我想在我的文本框中实现ajax自动完成功能 我试着像下面一样 <asp:TextBox ID="txtCountry" runat="server"></asp:TextBox> <ajax:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtCountry" ServicePath="~/App_Code/WebService.cs" Mini

我想在我的文本框中实现
ajax自动完成
功能

我试着像下面一样

<asp:TextBox ID="txtCountry" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtCountry"
    ServicePath="~/App_Code/WebService.cs" MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1"
    CompletionInterval="1000" ServiceMethod="GetCompletionList">
</ajax:AutoCompleteExtender>
[WebMethod]
public List<string> GetCompletionList(string prefixText)
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
        con.Open();
        SqlCommand cmd = new SqlCommand("select Company_name from Outword_CommonMST where Company_name  " +
                                                        "like '" + prefixText + "%' order by company_name", con);
        //cmd.Parameters.AddWithValue("@Name", prefixText);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable  dt = new DataTable( );
        da.Fill(dt);
        List<string> Company_name = new List<string>();
        for(int i=0;i<dt.Rows.Count;i++)
        {
            Company_name.Add(dt.Rows[i][1].ToString());
        }
        return Company_name;
    }
}
但当我检查它时,它不工作

另外,当我在控制台中检查时,它给出了类似

ScriptResource.axd?d=SMCBRjg8b3pouydxeu-NDM-jiwtmeefry083d5ohjfnwtee0cynytlgzx9w7p4amkpze7gkz-MoV…:6076 POST 403(禁止)

请建议这里有什么问题

如下:

[WebMethod]
    public string[] GetCompletionList(string prefixText)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
            con.Open();
            SqlCommand cmd = new SqlCommand("select Company_name from Outword_CommonMST where Company_name  " +
                                                            "like '" + prefixText + "%' order by company_name", con);
            //cmd.Parameters.AddWithValue("@Name", prefixText);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable  dt = new DataTable( );
            da.Fill(dt);
            List<string> Company_name = new List<string>();
            for(int i=0;i<dt.Rows.Count;i++)
            {
                Company_name.Add(dt.Rows[i][0].ToString());
            }
            return Company_name.ToArray();
        }
    }
[WebMethod]
公共字符串[]GetCompletionList(字符串前缀)
{
SqlConnection con=新的SqlConnection(ConfigurationManager.ConnectionString[“dbconnection”].ToString());
con.Open();
SqlCommand cmd=new SqlCommand(“从公司名称所在的外部公共MST中选择公司名称”+
“如“'+前缀文本+“%”按公司名称排序,con);
//cmd.Parameters.AddWithValue(“@Name”,prefixText);
SqlDataAdapter da=新的SqlDataAdapter(cmd);
DataTable dt=新的DataTable();
da.填充(dt);
上市公司名称=新上市公司();

对于(inti=0;它的Web服务应该以.asmx结尾,而不是。cs@Dr.Stitch:我也用
asmx
添加了它,但现在我得到的错误是
ScriptResource.axd?d=smcbrjg8b3peoydxeu-NDM-jiwtmeeffry083dh5ohjfnwtee0cynytlgzx9w7p4amkpze7gkz-MoV…:6076 POSThttp://localhost:55264/PSITERP%20lite/WebService.asmx/GetCompletionList 500(内部服务器错误)
WebService.asmx在哪里?同一个项目还是不同的项目?@Dr.Stitch:它在同一个项目中。请在浏览器中尝试此url。如果没有,它将显示可用的列表方法。这意味着它不会启动。很抱歉,延迟,我收到错误,因为CS0101:命名空间“”在第:-
行已包含“WebService”的定义服务:System.Web.Services.WebService{
将类名更改为除WebService以外的任何其他名称。是的,更改了该名称。现在,由于URL的请求格式无法识别,意外以“/GetCompletionList”结尾。控制台中显示,
加载资源失败:服务器响应状态为500(内部服务器错误)
它完成了,取代了
dt.Rows[i][1]。
我将它改为
dt.Rows[i][0]。
它工作了。