【问题标题】:.NET dropdownlists with huge number of items具有大量项目的 .NET 下拉列表
【发布时间】:2014-07-09 08:38:20
【问题描述】:

我正在开发一个使用 5 个下拉列表的 Web 部件(每个下拉列表代表“项目”表列,如 projectNo、ProjectPM、ContractNo 等)。该表有 3000 多个项目,因此当下拉列表最终被数据绑定时,它们有 3000 多个项目要加载,这几乎让 IE 陷入停顿。

构建解决方案的最佳方法是什么,以便用户仍然可以使用下拉列表界面,可能就像首先渲染一个空的下拉列表,然后使用模式窗口首先找到他们正在寻找的项目编号,然后将项目设置为下拉列表中的选定项。我正在设想以下用户界面。谁能指导我如何解决这个问题?

    -------------------
                    |V|   [SearchBtn]
    -------------------

    -------------------
                    |V|    [SearchBtn]
    -------------------

    -------------------
                    |V|    [SearchBtn]
    -------------------



   [FindProjectBtn]

在searchBtn上点击ikng基本上会弹出一个弹出窗口,他们可以在其中搜索他们的东西,当他们点击匹配的结果时,它会设置下拉列表。

【问题讨论】:

  • 我想这取决于这个直接问题范围之外的信息。很难确定它是否适合用作允许搜索/排序/分页并能够转到特定项目的详细信息页面的网格。

标签: asp.net .net drop-down-menu postback


【解决方案1】:

如果你有 3000 个项目,那么下拉列表肯定不是一个正确的设计决策。

强烈建议您使用具有分页、排序和搜索功能的任何类型的中继器列表。

但如果您坚持使用一种下拉列表视图,那么Matthew's suggestions 就是您的答案。

【讨论】:

    【解决方案2】:

    使用下拉列表时,一个好的经验法则是保持列表简短,这样您就不会遇到浏览器性能问题。如果您有成千上万的项目要查看,您可以:

    • 创建一个搜索组件,让用户输入他们正在搜索的项目名称的一部分,并显示一个简单的网格供他们选择。
    • 实施预先输入机制。用户输入他们正在搜索的内容的前几个字母。您可以在数据库中查询前 10 名命中并通过 AJAX 返回它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 2017-01-22
      • 2015-06-24
      • 1970-01-01
      相关资源
      最近更新 更多