JQuery自动完成功能停止工作

时间:2013-07-28 16:07:42

标签: c# jquery asp.net

我使用以下代码进行自动完成功能。代码工作正常,但当我将其复制到另一个aspx页面时,代码停止工作。

我已经完成了许多先前提出的问题,但我一无所获。 one 对我帮助很小,但没有解决我的问题。

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css"rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> 
<script type="text/javascript">
    $(document).ready(function () {
        SearchText();
    });
    function SearchText() {
        $(".autosuggest").autocomplete({
            source: function (request, response) {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "PGForBoys.aspx/GetAutoCompleteData",
                    data: "{'location':'" + document.getElementById('ContentPlaceHolder1_txtSearch').value + "'}",
                    dataType: "json",
                    success: function (data) {
                        response(data.d);
                    },
                    error: function (result) {
                        alert("Error");
                    }
                });
            }
        });
    }
</script>

功能代码是:

[WebMethod]

    public static List<string> GetAutoCompleteData(string location)
    {
        List<string> result = new List<string>();

        using (SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\RoomRentDatabase.mdf;Integrated Security
         =True;User Instance=True"))
        {
            using (SqlCommand cmd = new SqlCommand("select DISTINCT Location from Details where Location LIKE '%'+@location+'%'", con))
            {
                con.Open();
                cmd.Parameters.AddWithValue("@location", location);
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    result.Add(dr["Location"].ToString());
                }
                return result;
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

我自己抓住了这个愚蠢的错误。实际上我没有更改页面的URL,因此它没有读取我的功能,因此没有显示结果。

我必须为我使用代码的每个页面更改url: "PGForBoys.aspx/GetAutoCompleteData"