我正在从数据库中获取对象列表
public class TestCode
{
/// <summary>
/// ProductID
/// </summary>
public int Id { get; set; }
public String CodeName { get; set; }
public String ManName { get; set; }
public String DOSName { get; set; }
}
我的控制器使用将它们转换为 json
return Json(formattedCodes);
控制器由以下ajax调用
$(document).ready(function () {
$("#tags").autocomplete({
source: function (request, response) {
$.ajax(
{
type: "POST",
url: '@Url.Action("GetAutoText3", "Code")',
dataType: "json",
data: { Code: $("#tags").val() },
success: function (data) {
response($.map(data, function (c) {
alert(c.ManName);
return c
}));
}
})
}
})
});
以前我返回了一个 json 字符串,上面的代码运行良好。它仍然可以正常工作,但输入框没有填充自动完成值,可能是由于现在返回对象和行“数据:{代码:$(“#tags”).val()}, " 可能不再有效。
“警报(c.ManName);” 返回正确的值,因此对象肯定存在并且正确。
我正在寻找一些将数据分配给 html 的“模型”方式,而不是将字符串连接在一起。
例如,自动完成将显示 ManName 和 CodeName 值,但不知何故我将 ID 存储在幕后,以便在选择自动完成项时可以使用它。
有任何想法吗?
谢谢