C# 在ASP.NETC中使用JQuery-自动完成文本框

C# 在ASP.NETC中使用JQuery-自动完成文本框,c#,C#,我试图用数据库表中的项目自动完成文本框;但是,它不是自动完成的。即使存在数据,也不会从数据库中提取任何信息。自动完成不起作用时,我的做法有什么不同 <head runat="server"> <link href="jquery-ui.css" rel="stylesheet" type="text/css" /> <script src="jquery.min.js" type="text/javascript"></script>

我试图用数据库表中的项目自动完成文本框;但是,它不是自动完成的。即使存在数据,也不会从数据库中提取任何信息。自动完成不起作用时,我的做法有什么不同

<head runat="server">

 <link href="jquery-ui.css" rel="stylesheet" type="text/css" />  
<script src="jquery.min.js" type="text/javascript"></script>  
<script src="jquery-ui.min.js" type="text/javascript"></script>  

<script type="text/javascript">  
    $(document).ready(function() {  
        SearchText();  
    });  
    function SearchText() {  
        $("#txtInvoiceNum").autocomplete({  
            source: function(request, response) {  
                $.ajax({  
                    type: "POST",  
                    contentType: "application/json; charset=utf-8",  
                    url: "LoadSheet.aspx/GetInvoice",  
                    data: "{'invoiceNum':'" + document.getElementById('txtInvoiceNum').value + "'}",  
                    dataType: "json",  
                    success: function(data) {  
                        response(data.d);  
                    },  
                    error: function(result) {  
                        alert("No Match");  
                    }  
                });  
            }  
        });  
    }  
</script>   

AJAX请求和响应有效吗?您是否在响应中获得了预期的数据?它们不应该显示,但它们是json对象吗?在执行过程中,我没有看到任何事情发生在您的成功中:函数数据{…这里…},请添加以下内容:console.logdata;和大家分享结果,我更愿意安装Fiddler来观察请求和响应。现在,试试我说的,告诉我你得到了什么。它没有响应OK然后试着调试你的方法GetInvoice,在它的开头设置一个断点,它被调用了吗?
<asp:TextBox ID="txtInvoiceNum" runat="server"></asp:TextBox>

  [WebMethod]
public static List<string> GetInvoice(string invoiceNum)
{
    List<string> empResult = new List<string>();
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TWCL_OPERATIONSConnectionString"].ConnectionString))
    {
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "select Top 10 SOPNUMBE from [TWCL].[dbo].[SOP10100] where  SOPNUMBE LIKE ''+@SearchInvoice+'%'";
            cmd.Connection = con;
            con.Open();
            cmd.Parameters.AddWithValue("@SearchInvoice", invoiceNum);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                empResult.Add(dr["SOPNUMBE"].ToString());
            }
            con.Close();
            return empResult;
        }
    }
}