【问题标题】:Kendo autocomplete asp.net undefined value剑道自动完成 asp.net 未定义值
【发布时间】: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


【解决方案1】:

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

.DataTextField("name")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    相关资源
    最近更新 更多