C# ASP.NET Core 2.2中的下拉列表

C# ASP.NET Core 2.2中的下拉列表,c#,html,asp.net-core,C#,Html,Asp.net Core,我有一些巨大的文件,其中有300000多个Id,我可以在下拉列表中显示Id,但打开下拉列表并选择值需要很长时间 我使用以下代码创建了下拉列表: <select asp-for="SelectIDs" asp-items=@Model.pvalues onclick="this.size=1;" onMouseOver="this.size=10;" onMouseOut="this.size=1;" style="padding:10px;position:absolute;">

我有一些巨大的文件,其中有300000多个Id,我可以在下拉列表中显示Id,但打开下拉列表并选择值需要很长时间

我使用以下代码创建了下拉列表:

<select asp-for="SelectIDs" asp-items=@Model.pvalues onclick="this.size=1;" onMouseOver="this.size=10;" onMouseOut="this.size=1;" style="padding:10px;position:absolute;">
    <option value="" selected>Select ID..</option>
</select>

选择ID。。

我可以知道需要做些什么来处理如此庞大的下拉列表吗?

我显然还不能留下评论,否则我会这么做。但我建议,如果可能的话,你需要做一些预过滤

是否绝对没有您可以要求用户首先进行的选择可以减少此下拉列表的大小

一些想法(随机的,因为我不知道你的数据集是什么):

  • 国家/州
  • 工业
  • 日期范围
  • 手动输入滤波器
  • 等等

    • 最好的选择是使用带有搜索框的动态下拉列表,当用户在其中键入一些字符时,项目列表将通过ajax更新


      请参见

      是否可以发布这两个文件中每个文件的示例?不必包含实际数据,只需伪值即可理解模式


      仅供参考,我认为您的声明
      我有两个巨大的xml文件,其中包含300000多个ID,用户必须选择一个ID
      ,这肯定是错误的。在这种情况下,调查问题的最佳方式不是“选择和ID”,而是“用户必须选择一个条目,解决方案将使用该ID做其他事情”。正如其他人所指出的,期望用户从300K+列表中选择或期望页面加载列表是一个明确的可用性问题。

      为什么要从300000项的下拉列表中选择ID?我们有一组属性,对应于我们在XML文件中选择的ID,我们需要在两个文件之间比较这些属性(变更前和变更后)处理如此庞大的下拉列表需要做些什么:你不能指望你的用户在下拉列表中滚动多达300000个条目!!!!!!!这是一个可用性噩梦。处理这一问题的最佳方法是不要这样做!必须有更好的方法来处理这种情况-让用户(以增量方式)搜索,或其他一些东西-但不要浪费时间试图快速加载此下拉列表-重新思考您的基本假设,即在下拉列表中包含300000项是可行的-事实并非如此!您将不得不扩展您的问题,以包含有关生成300000项的数据的更多信息。坦率地说,尽管您不能期望任何接口能够处理这么多数据,正如其他用户所建议的,您必须添加一些方法来为用户初步筛选数据集-可能使用多个表单回发、查询字符串或更可能的ajax请求谢谢。我将研究它,以任何其他可能的方式实现它。我有两个巨大的具有300000多个ID的xml文件,用户必须选择一个ID,以便解决方案将从两个文件(更改前后)中选择与所选ID对应的标记将进行比较,因此ID选择是一个用于提取所需数据的过滤器用户是否已经知道他们要查找的ID?这可能是ajax的自动完成下拉列表吗?类似这样的情况:浏览器最不满意的是在下拉列表中呈现30万个项目,我可以想象用户在滚动这样的列表时也会不高兴。用户无需滚动下拉列表。在ID的列表中,用户可以选择任何他想要验证与该ID对应的数据的ID,因此我无法真正筛选并仅显示某些ID。