3

我在这个特定项目上使用 C# 和 ASP.NET 以及 .NET Framework 库的 2.0 版。我们也在使用 AjaxControlToolkit。AjaxControlToolkit 应该有可用的控件来为我所面临的问题提供下降用户界面解决方案。

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

我在想的是使用模态弹出表单,它是一个自动完成扩展器,允许用户向下钻取到特定公司。因此,在他们必须选择公司的字段中,他们单击“选择公司”图标,出现模式表单,让他们使用自动完成扩展器来选择现有公司。他们单击“确定”并将值保存到该字段。

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

4

4 回答 4

1

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

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

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

于 2008-10-30T15:32:54.997 回答
0

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

于 2008-10-29T16:22:55.720 回答
0

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

于 2008-10-29T16:28:22.043 回答
0
于 2008-10-31T19:03:21.353 回答