Javascript 选择显示ajax自动完成中未定义的部分

Javascript 选择显示ajax自动完成中未定义的部分,javascript,jquery,ajax,asp.net-mvc,autocomplete,Javascript,Jquery,Ajax,Asp.net Mvc,Autocomplete,我在ajax autocomplete中获得名称非常完美,但我在ajax autocomplete中没有获得他们的名称相关ID 以下是查看代码 @Html.TextBoxFor(model => Model.CustomerFullName, new { @class = "form-control" }) @Html.TextAreaFor(model => Model.CustomerId) $(document).ready(function () {

我在ajax autocomplete中获得名称非常完美,但我在ajax autocomplete中没有获得他们的名称相关ID

以下是查看代码

@Html.TextBoxFor(model => Model.CustomerFullName, new { @class = "form-control" })
@Html.TextAreaFor(model => Model.CustomerId)

$(document).ready(function () {
    $("#CustomerFullName").autocomplete({            
            source: function (request, response) {                
            $.ajax({
                url: '@Url.Action("AutoComplete", "Order")',
                datatype: "json",
                data: {
                    term: request.term
                },
                success: function (data) {
                    response($.map(data, function (val) {                        
                        return {
                            value: val.Name,
                            label: val.Name
                        }
                    }))
                }
            })
        },
            select: function (event, ui) {
                alert(ui.item.id);
                $("#CustomerId").val(ui.item.id);
        }
    });
});
这是控制器

public JsonResult AutoComplete(string term = "")
{
    var objCustomerlist = (from customer in _customerRepository.Table
                           where customer.Username.StartsWith(term)
                           select new
                           {
                               Name = customer.Username,
                               ID = customer.Id
                           }).ToList();
    return Json(objCustomerlist);
}
在自动完成ajax中,选择显示未定义警报的部分

我试着解决一些问题,比如

  • JSON.Stringfy(ui.item.id)
  • 用户界面id
  • 但还是没用