Jquery UI AutoComplete不能与asp.net一起使用

时间:2014-12-20 07:43:18

标签: c# jquery asp.net jquery-ui

这是我的Jquery:

$("#completeMe").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "/Main.aspx/GetAutocomplete",
            type: "POST",
            dataType: "json",
            data: Data,
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                response($.map(data, function (item) {
                    return { value: item };
                }))

            }
        })

    }
});

这是我的Main.aspx.cs:

[System.Web.Services.WebMethod]
public static List<string> GetAutocomplete(string cityName)
{
    List<string> City = new List<string>() { "hh", "hh1" };

    return City;
}

现在,当我返回字符串而不是List时,这是有效的。但是,当我使用List时,我会使用它:

  

未捕获TypeError:undefined不是函数jquery-ui.min.js:9 ...

我不明白,这个解决方案似乎对网络上的很多人有用,也许它与我的jquery / ui版本有关?我正在使用jquery 1.7.1.min和jquery-ui最新版本。

1 个答案:

答案 0 :(得分:3)

像这样改变你的成功功能

success: function (data) {
            response($.map(data.d, function (item) {
                return { value: item };
            }))

数据包含在data.d属性中。