C# jquery中的自动完成不起作用

C# jquery中的自动完成不起作用,c#,jquery,asp.net-mvc,razor,autocomplete,C#,Jquery,Asp.net Mvc,Razor,Autocomplete,我使用json结果来填充文本框,我可以看到使用警报将值返回到Razor视图。但我无法将它们绑定到文本框 在my layout.cshtml中,我正在加载jquery文件。 ![这在我的布局页面的标题部分][1] @Styles.Render("~/Content/css") @Styles.Render("~/Content/jquery-ui") <script src="//code.jquery.com/jquery-1.11.2.min.js"></script>

我使用json结果来填充文本框,我可以看到使用警报将值返回到Razor视图。但我无法将它们绑定到文本框

在my layout.cshtml中,我正在加载jquery文件。 ![这在我的布局页面的标题部分][1]

@Styles.Render("~/Content/css")
@Styles.Render("~/Content/jquery-ui")

<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>

<script src="//code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>

@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/Site")   

非常感谢您的帮助

您还没有发布数据响应,但是如果它是一个字符串数组,那么下面应该会这样做

success: function (data) {
    response(data);                 
},
由于您已经以数据所需的格式(标签和值)提供了数据,因此不必映射数据。直接将其传递到响应中即可

$("#usersearch").change(function () {
    //$('#SearchVendorId').val(0);
    if ($('#usersearch').val() != "") {
        $('#usersearch').addClass("errorTextBox");
        $('#usersearch').removeClass("successTextBox");
    }
    else {
        $('#usersearch').removeClass("successTextBox");
        $('#usersearch').removeClass("errorTextBox");
    }
});


$('#usersearch').autocomplete({
    source: function (request, response) {
        $.ajax({
            url: '@Url.Action("GetUsers")',
            data: { term: request.term },
            dataType: 'json',
            type: 'GET',
            async : false,
            contentType: "application/json; charset=utf-8",
            dataFilter: function (data) { return data; },
            success: function (data) {
               response($.map(data, function (item) {
                   alert(item.value);
                    return {
                        label: item.value,
                        value: item.value
                    };
                }));
            },
            error: function (xhr, status, error) {
                alert(error);
            }
        });
    },
    minLength: 2
});

在ajax中尝试async:false

我正在使用JSON结果[HttpGet]公共JsonResult GetUsers(字符串term=”“){var e=new UserDataEntities();var returner=(来自e.Users中的a,其中a.UserID.ToUpper()包含(term.ToUpper().Trim())选择新的{id=a.UserID,label=a.UserID.Trim(),value=a.UserID.Trim()}).Take(20);return Json(returner,JsonRequestBehavior.AllowGet);}请通过格式化技巧原谅。这是一个相当新的问题。@coderfirst不是问题:)。根据您的数据更新了我的答案。非常感谢:)。但我在第项中看到错误,即“预期的”:。value@coderfirst抱歉,我在查看文档的基础上又更新了一次
$("#usersearch").change(function () {
    //$('#SearchVendorId').val(0);
    if ($('#usersearch').val() != "") {
        $('#usersearch').addClass("errorTextBox");
        $('#usersearch').removeClass("successTextBox");
    }
    else {
        $('#usersearch').removeClass("successTextBox");
        $('#usersearch').removeClass("errorTextBox");
    }
});


$('#usersearch').autocomplete({
    source: function (request, response) {
        $.ajax({
            url: '@Url.Action("GetUsers")',
            data: { term: request.term },
            dataType: 'json',
            type: 'GET',
            async : false,
            contentType: "application/json; charset=utf-8",
            dataFilter: function (data) { return data; },
            success: function (data) {
               response($.map(data, function (item) {
                   alert(item.value);
                    return {
                        label: item.value,
                        value: item.value
                    };
                }));
            },
            error: function (xhr, status, error) {
                alert(error);
            }
        });
    },
    minLength: 2
});