我在这个特定项目上使用 C# 和 ASP.NET 以及 .NET Framework 库的 2.0 版。我们也在使用 AjaxControlToolkit。AjaxControlToolkit 应该有可用的控件来为我所面临的问题提供下降用户界面解决方案。
去年我在几个项目中遇到过这个问题,并且过去使用了不同的解决方案。我刚刚选择的项目的当前设计是有一个 <asp:DropDownList> 控件,并且在页面加载时进行数据库调用以获取值列表。然后使用 DropDownList 的数据源绑定。问题是从数据库返回了 25k 项。首先,用户必须滚动浏览数以万计的项目是不可接受的。但是,更重要的是,在每个测试它的浏览器(IE 7、FF 3、Safari 和 Chrome)中,浏览器在传播下拉列表项时完全挂起。
我在想的是使用模态弹出表单,它是一个自动完成扩展器,允许用户向下钻取到特定公司。因此,在他们必须选择公司的字段中,他们单击“选择公司”图标,出现模式表单,让他们使用自动完成扩展器来选择现有公司。他们单击“确定”并将值保存到该字段。
但是,我是一个老派的命令行/shell/终端人,我对可接受的 UI 设计的想法可能会有所偏差(在任何系统上给我一个命令提示符,我很高兴)。我希望社区中的人们就他们认为可以接受的解决方案提出建议,或者他们是否遇到过类似的其他问题。