У меня есть меню с несколькими DropDowns.Я добавил код, но в настоящее время он полностью находится в файле code-behind.Я хочу использовать любой шаблон проектирования, чтобы легко и беспрепятственно обрабатывать различные варианты.
Критерии формирования отчета подготовлены следующим образом:
Параметры типа отчета DropDown включают в себя:
- Схема по типу
- Схема
- Район
- Блок
- Все
По умолчанию включен только первый DropDown.При выборе параметра из этого DropDown включаются соответствующие DropDown.
Кроме того, значения Scheme
, District
и Block
DropDowns также изменяются, когда элемент выбирается из любого из этих DropDowns или Scheme Type
DropDown с использованием AJAX .
Он включает в себя различные запросы SQL и часто включает / отключает DropDowns.Мой нынешний код загроможден многими IF
и EndIfs
.
Я хочу знать, будет ли Observer pattern
или какой-либо подход с использованием Classes
использоваться для упрощения этой операции.Есть ли способ сделать этот множественный выбор и заполнение DropDowns управляемым и простым?
Отредактировано ниже для уточнения требований
Позвольте мне уточнить далее.
first DropDown - это ключ DropDown, который включается по умолчанию при открытии страницы.Все остальные DropDowns по умолчанию отключены.Но это не означает, что каскадный DropDown является правильным выбором, поскольку выбор из дочерних DropDowns является случайным.
Весь план состоит в том, чтобы упростить код в понятной форме для каждого DropDown.Для выбора правильного запроса требуется много If и ElseIf.
Например: пользователь выбирает District-wise report
из основного типа отчета DropDown.В этом случае активируются три дочерних DropDown, а именно:
Scheme Type
Scheme
District
Если пользователь выбирает «ALL» из списка типов схем, все типы схем во всех категориях заполняются в DropDown схемы.
Если пользователь выбирает определенный тип схемы из опций: Городская, Сельская или Другая, DropDown схемы отфильтровывает названия схем.
Теперь в DropDown схемы также есть опция ALL.Пользователь может выбрать ВСЕ или выбрать любую конкретную схему.
То же самое с Районом.Если выбрано ВСЕ, схемы в схеме DropDown принимают все схемы во всех районах, но если выбран конкретный район, схема DropDown должна заполнять отфильтрованные схемы этого района.
Обратите внимание, что в этом случаеСейчас мы движемся в обратном порядке, потому что район DropDown снова фильтрует DropDown схемы.
То же самое применимо к Block DropDown.
Существуют различные условия, которые необходимо проверить, кроме выбранныхвариант.Предположим, что пользователь не выбрал какую-либо опцию или пользователь выбирает ALL.
Я хочу создать отдельные классы с именами каждого DropDown.Эти классы должны продолжать слышать уведомления (Наблюдатель) о любых изменениях в DropDown.
Полагаю, я смог уточнить.