2

我的 Kendo 自动完成控件成功检索了 Json 列表。不幸的是,它两次调用 MVC 控制器方法并创建了两个建议列表。重复列表直接显示在第一个列表的后面。当从第一个建议列表中选择一个值时,该列表会消失,但重复的列表仍然可见。我正在为自动完成控件使用包装器,如下所示。我已经确认没有在任何页面脚本中引用该控件。该控件位于一次添加到 cshtml 视图的局部视图中 ( @{ Html.RenderPartial("_AddLineItem"); })。

@(Html.Kendo().AutoComplete()
     .Name("CategorySearch")
     .DataTextField("CategoryName")
     .Filter("contains")
     .DataSource(source =>
     {
         source.Read(read =>
         {
             read.Action("PopulateCategories", "Default");
         })
         .ServerFiltering(false);
    })
)

生成的 HTML 显示建议列表两次,但关联的输入控件只存在一次。以下标签在生成的 HTML 中出现了两次(这些是建议列表的标签,它们还包含 li 标签和结束 div 标签,从下面粘贴的 HTML 中删除):

<div class="k-animation-container" style="left: 431.13px; top: 405.69px; width: 511px; height: 206px; overflow: hidden; padding-right: 2px; padding-bottom: 4px; padding-left: 2px; margin-left: -2px; display: none; position: absolute; z-index: 10002;">

有谁知道这里发生了什么?

4

1 回答 1

0

根据我添加的评论,答案是避免将 Kendo 自动完成控件放在 JQuery UI 对话框控件中。该对话框强制自动完成控件在浏览器中呈现两次。我已经在 Internet Explorer 和 Firefox 中确认了这一点。可以合理地假设在其他浏览器中也会发生相同的行为。

于 2014-04-17T12:48:38.397 回答