我正在尝试使用他们的教程配置kendo自动完成功能。 问题是自动完成控件显示对象而不是我在kendo初始化中设置的属性值(参见捕获):
@(
Html.Kendo().AutoComplete()
.Name("products")
.Placeholder("Find Product...")
.DataTextField("Name")
.Template("<span><img src='/Content/Images/default-photo.jpg' " +
"width='20' height='20' /> ${data}</span>")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetProducts", "Search")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
<script>
function onAdditionalData() {
return {
text: $("#products").val()
};
}
</script>
我的操作返回类型是return Json(products, JsonRequestBehavior.AllowGet);
产品在哪里ICollection<VmProduct>
怎么回事?
答案 0 :(得分:1)
您已设置DataTextField
,但在设置Template
时会覆盖它,因为剑道会执行模板而不是获取您设置的字段。但这不是问题,问题是你的模板中你正在打印data
对象,实际上是一个对象。您需要打印与建议文本相关的属性,例如:
.Template("<span><img src='/Content/Images/default-photo.jpg' " +
"width='20' height='20' /> ${data.Name}</span>")
尝试一下,告诉我们会发生什么。