我正在使用 WebApi 控制器将 IDictionary 返回给 jQuery 自动完成功能,如下所示:
public IDictionary<int, string> GetClientAuto(string term)
{
var clients = db.Clients.Where(n => n.Name.Contains(term)).OrderBy(n => n.Name);
return clients.ToDictionary(n => n.ClientID, n => n.Name);
}
问题是虽然我添加了一个断点并检查变量 clients 是否按 Name 排序变为 true,但自动完成框中显示的顺序不同,可能我希望通过 ID。我尝试将此添加到自动完成:sortResults:false,但没有效果。
我在我的 succes 函数中有这个,这里是否有一些东西可能我需要更改才能在标签上工作的顺序,即名称:
success: function (json) {
// call autocomplete callback method with results
response($.map(json, function (name, val) {
return {
label: name,
value: val
}
}));
},