Мы помещаем все в одну таблицу LookUp в базе данных со столбцом, который сопоставлен с перечислением, описывающим, для какого поиска оно было (название, страна и т. Д.).
Это позволило нам добавить гибкость опции «Другое, укажите» в выпадающих списках. Мы создали элемент управления, который инкапсулировал это, со свойством для включения или выключения этого поведения в каждом конкретном случае.
Если конечный пользователь выберет «Другое, укажите, пожалуйста», появится текстовое поле для ввода его собственного значения. Это будет добавлено в таблицу поиска, но помечено как специальный элемент.
В таблице содержался флаг, обозначающий состояние каждого значения поиска: Active, Inactive, AdHoc. Только активные из них будут отображаться в раскрывающемся списке; AdHoc были те, которые были созданы с помощью опции «Другое, пожалуйста, укажите».
Страница администратора показала частоту использования значений AdHoc, что позволило администраторам сайта продвигать общие популярные значения в общее использование (т. Е. Изменяя свой флаг состояния на Активный).
Это может быть излишним для вашего приложения, но у нас оно сработало очень хорошо: приложение в основном было почти полностью CRUD-операциями с очень специфичными для бизнеса данными. У нас были десятки поисков по всему сайту, которые клиент хотел поддерживать самостоятельно. Это дало им полную гибкость без вмешательства с нашей стороны.