Kendo自动完成asp.net未定义的值

时间:2016-08-22 09:24:40

标签: asp.net razor kendo-ui autocomplete

我试图自动完成(asp.net核心)

Razor观点:

@(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();            
        }

在我看来,我总是得到正确数量的价值,但它总是&#34;未定义&#34;。我哪里错了?

1 个答案:

答案 0 :(得分:1)

您正在服务器端操作中将“电子邮件”重命名为“名称”;所以你应该使用

.DataTextField("name")