【问题标题】:Alternative UI control for large data lists instead of DropDownList大型数据列表的替代 UI 控件,而不是 DropDownList
【发布时间】:2008-10-29 16:17:34
【问题描述】:

我在这个特定项目中使用 C# 和 ASP.NET 以及 .NET Framework 库的 2.0 版。我们也在使用 AjaxControlToolkit。 AjaxControlToolkit 应该具有可用的控件,以使下降用户界面解决我面临的问题。

去年我在几个项目中遇到过这个问题,并且过去使用过不同的解决方案。我刚刚挑选的项目的当前设计是有一个 控件,并且在页面加载时进行数据库调用以获取值列表。然后使用 DropDownList 的数据源绑定。问题是从数据库返回了 25k 个项目。首先,用户必须滚动浏览数以万计的项目是不可接受的。但是,更重要的是,在每个测试它的浏览器(IE 7、FF 3、Safari 和 Chrome)中,浏览器在传播下拉列表项时完全挂起。

我的想法是使用Modal Popup 表单,Autocomplete Extender 允许用户深入了解特定公司。因此,在他们必须选择公司的字段中,他们单击“选择公司”图标,出现模式表单,让他们使用自动完成扩展器选择现有公司。他们单击“确定”并将值保存到该字段。

但是,我是一个老派的命令行/shell/终端人,我对可接受的 UI 设计的想法可能会有所偏差(在任何系统上给我一个命令提示符,我很高兴)。我希望社区中的人们就他们认为可以接受的解决方案提出建议,或者他们是否遇到过类似的其他问题。

【问题讨论】:

    标签: asp.net user-interface webforms asp.net-2.0 ajaxcontroltoolkit


    【解决方案1】:

    我认为您对自动完成扩展器的想法是最好的解决方案。我也遇到过这个问题(听起来很相似——一个你从别人那里接手的项目)。回击通常来自用户端。他们习惯于从项目列表中进行选择。不幸的是,随着数据库的增长,这变得越来越不可行。

    但是当您在页面上下载了 0.5MB 的 html(不包括视图状态)时,就必须做出妥协。

    您认为为什么需要创建模态弹出窗口?不能只在数据输入页面上有扩展器吗?

    【讨论】:

    • 这几乎正是我决定的。我还有一些问题需要解决,以确保文本框只有列表中的值。
    【解决方案2】:

    我不得不处理同样的问题。但我最终使用了一个支持分页和自动完成的组合框。目前这个组合框恰好来自 Telerik。它是一个用于自动完成的组合框,因为您无法输入下拉列表。

    【讨论】:

    • 我不想使用第 3 方控件。但是,我试图在脑海中描绘出该解决方案的样子。
    • 它是一个在列表框中带有滚动条的组合框,如果您滚动到底部,它会显示 20 个项目,它会获取下一个 20 并添加到列表中。 ajaxtool 工具包可能有这种类型的控件。
    【解决方案3】:

    我同意,没有用户会想通过 25,000 项查找来找到他们想要的。有什么方法可以限制数据以便他们向下钻取?就像先选择一个地区或公司类型,然后显示匹配的那些?

    【讨论】:

    • 不,不是真的... :( 他们在数据库中没有这样分类。
    【解决方案4】:

    【讨论】:

      猜你喜欢
      • 2014-09-30
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 2019-10-08
      • 1970-01-01
      相关资源
      最近更新 更多