Pregunta

Estoy usando C# y ASP.NET con la versión 2.0 de la biblioteca .NET Framework en este proyecto en particular.También estamos utilizando AjaxControlToolkit.El AjaxControlToolkit debería tener los controles disponibles para crear una solución de interfaz de usuario adecuada para el problema al que me enfrento.

Me encontré con esto en algunos proyectos durante el último año y utilicé diferentes soluciones en el pasado.El diseño actual del proyecto que acabo de retomar es que hay un control <asp:DropDownList> y al cargar la página se realiza una llamada a la base de datos para obtener una lista de valores.Luego, esto se vincula utilizando la fuente de datos de DropDownList.El problema es que hay 25.000 elementos devueltos desde la base de datos.En primer lugar, no es aceptable que un usuario tenga que desplazarse por decenas de miles de elementos.Pero, lo que es aún más importante, es que en todos los navegadores en los que se prueba (IE 7, FF 3, Safari y Chrome), el navegador se bloquea por completo mientras propaga los elementos de la lista desplegable.

Lo que estoy pensando es usar un Ventana emergente modal forma, que un Extensor de autocompletar que permite al usuario profundizar en una empresa específica.Entonces, en el campo donde tienen que elegir una empresa, hacen clic en el ícono "seleccionar empresa", aparece el formulario modal, que les permite usar el extensor de autocompletar para seleccionar una empresa existente.Hacen clic en "Aceptar" y guarda el valor en el campo.

Sin embargo, soy un tipo de línea de comando/shell/terminal de la vieja escuela, y mis ideas sobre un diseño de interfaz de usuario aceptable pueden estar sesgadas (dame un símbolo del sistema en cualquier sistema y listo).Me gustaría recibir consejos de los miembros de la comunidad aquí sobre cuál creen que sería una solución aceptable o si han enfrentado otros problemas como este.

¿Fue útil?

Solución

Creo que su idea para el extensor de autocompletar es la mejor solución. También tuve este problema (suena similar, un proyecto que está asumiendo el control de otra persona). El retroceso a menudo proviene del lado del usuario. Están acostumbrados a poder seleccionar de una lista de elementos. Desafortunadamente, a medida que la base de datos crece, esto se vuelve cada vez menos factible.

Pero cuando tiene 0.5MB de html descargado en la página (sin incluir el estado de la vista), se deben hacer compromisos.

¿Por qué crees que necesitas crear una ventana emergente modal? ¿No puede simplemente tener el extensor en su página de entrada de datos?

Otros consejos

Tuve que lidiar con el mismo problema. Pero terminé usando un cuadro combinado con soporte de paginación y autocompletado. Actualmente este cuadro combinado es de Telerik. Es un cuadro combinado para autocompletar, ya que no puede escribir en una lista desplegable.

Estoy de acuerdo en que ningún usuario querrá mirar a través de 25,000 elementos para encontrar el que desea. ¿Hay alguna forma de limitar los datos para que se desglosen? ¿Te gusta seleccionar una región o tipo de empresa primero y luego mostrar las que coinciden?

  • Múltiples ListBox en cascada, cada uno refinando el conjunto de resultados del anterior
  • AJAX AutoCompleteExtender
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top