我在这个特定项目中使用C#和ASP.NET以及.NET Framework库2.0版。我们也在使用AjaxControlToolkit。 AjaxControlToolkit应该有可用的控件来为我面临的问题制作下降用户界面解决方案。
我去年在一些项目中遇到过这个问题,过去使用过不同的解决方案。我刚刚选择的项目的当前设计是,有一个< asp:DropDownList>控制和页面加载数据库调用是为了获取值列表。然后使用DropDownList的数据源绑定它。问题是数据库返回了25k项。首先,用户必须滚动数以万计的项目是不可接受的。但是,更重要的是,在每个浏览器中测试它(IE 7,FF 3,Safari和Chrome)时,浏览器会在传播下拉列表项时完全挂起。
我在想的是使用Modal Popup形式,Autocomplete Extender允许用户深入到特定公司。因此,在他们必须选择公司的领域,他们点击“选择公司”图标,出现模态表单,让他们使用自动完成扩展程序来选择现有公司。他们点击“确定”并将值保存到该字段。
但是,我是一个老派的命令行/ shell /终端人,我对可接受的UI设计的想法可能会有所偏差(在任何系统上给我一个命令提示符,我很乐意去)。我想在这里社区的人建议他们认为什么是可接受的解决方案,或者他们是否遇到过这样的其他问题。
答案 0 :(得分:1)
我认为您对自动完成扩展程序的想法是最佳解决方案。我也遇到过这个问题(听起来很相似 - 你从其他人手中接过的一个项目)。推回通常来自用户方。他们习惯于能够从项目列表中进行选择。不幸的是,随着数据库的增长,这变得越来越不可行。
但是当你在页面上下载了0.5MB的html(不包括viewstate)时,必须做出妥协。
为什么你认为你需要创建模态弹出窗口?你不能在数据输入页面上放置扩展器吗?
答案 1 :(得分:0)
我不得不处理同样的问题。但我最终使用了一个带有分页支持和自动完成功能的组合框。目前这个组合框恰好来自Telerik。它是一个用于自动完成的组合框,因为您无法输入下拉列表。
答案 2 :(得分:0)
我同意没有用户会想通过25,000个项目找到他们想要的那个。有没有什么方法可以限制数据,以便他们向下钻取?比如首先选择一个地区或类型的公司,然后显示匹配的公司?
答案 3 :(得分:0)