【发布时间】:2016-12-28 18:47:10
【问题描述】:
我正在尝试进行自动完成(asp.net 核心)
剃刀视图:
@(Html.Kendo().AutoComplete()
.Name("users")
.Filter("startswith")
.Placeholder("Type user name...")
.DataTextField("Email")
.Events(e =>
{
e.Select("onSelect");
})
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetUsers", "User").Data("onAdditionalData");
})
.ServerFiltering(true);
})
.HtmlAttributes(new { style = "width:30%" })
.MinLength(2)
.Suggest(true)
.Height(400)
.Template("<span class=\"k-state-default\">\\#=users.Email\\#</span>"))
服务器端:
[HttpGet]
public dynamic GetUsers(string term)
{
return ctx.Users.Where(x => x.Email.ToUpper().Contains(term.ToUpper()))
.Select(res => new { id = res.Id.ToString(), name = res.Email }).ToList();
}
在我看来,我总是得到正确的值,但它总是“未定义”。我哪里错了?
【问题讨论】:
-
请添加一个ajax请求数据的例子。您可以在 Network Tab 的 Dev Tools(F12) 中看到它。
-
您在哪里从自动完成
.DataTextField("Email")中提到的“GetUsers”操作返回“电子邮件”实体?或使用.DataTextField("name")
标签: asp.net razor kendo-ui autocomplete