Проблема применения ограничений с параметрами заключается в необходимости подставить конкретные значения параметров в ограничение до генерации списка, происходящей в Page_Load WOLV. При необходимости получения значений параметров WOLV отображает динамически генерируемую форму ввода параметров, после ввода значений которых список может быть отображен. Дополнительную сложность вызывает тот факт, что до Page_Load WOLV неопределенны некоторые из его свойств (например, View).
Схема обработки ограничения c параметрами:
- В Page_Init WOLV установить, есть ли у текущего ограничения параметры. Если есть, то вместо списка отображать контрол
WolvParametersInputControl
, которому передается список параметров, для каждого из которых динамически генерируется контрол для ввода значения. - При нажатии на контроле
WolvParametersInputControl
кнопкиПрименить ограничение
, значения параметров подставляются в ограничение. Список отображается штатным образом. Введенные значения сохраняются в сессию.
Текущея реализация не предполагает наличие параметров в ограничении наложенном программистом.