母版页中的自动建议搜索框无法正常工作

时间:2017-03-03 00:33:50

标签: c# asp.net search autocomplete master-pages

我正在尝试在项目的母版页中实现自动完成搜索功能,以供继承母版页的其他页面使用,但该函数会返回错误,尽管我的数据库表中有数据要返回。我已检查表名,文本框ID和列是否正确但我仍不确定问题是什么。任何帮助,将不胜感激! 这是我的母版页文件中的脚本:

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

这是我的网络服务页面的内容:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class AutoCompleteService : System.Web.Services.WebService
{
    [WebMethod]
    public List<string> GetmovieTitle(string name)
    {
        List<string> mResult = new List<string>();
        using (SqlConnection con = new SqlConnection("Data             Source=.\\SQLEXPRESS;AttachDbFilename='C:\\QACinema\\QACinema\\App_Data\\QACinemaHomeCopy.mdf';Integrated Security=True;User Instance=True"))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                con.Open();
                cmd.CommandText = "Select name from movies where name LIKE '+@name+'%'";
                cmd.Connection = con;
                cmd.Parameters.AddWithValue("@name", name);
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    mResult.Add(dr["name"].ToString());
                }
                return mResult;
            }
        }
    }
}

0 个答案:

没有答案