Почему бы не использовать триггеры в клею для обработки зависимостей?
Разве Вы не могли добавить панель обновления вокруг "следующей страницы" и затем добавить триггер к dropdownlist updatepanel для инициирования панели обновления следующей страницы?
Просто выведя идеи, не на самом деле попробовав его :)
Разместите UpdatePanel вокруг следующей кнопки и создайте триггер для каждого раскрытия так, чтобы это запустило асинхронную обратную передачу. Исключая:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="dropDownList1" />
<asp:AsyncPostBackTrigger ControlID="dropDownList2" />
<asp:AsyncPostBackTrigger ControlID="dropDownList3" />
</Triggers>
Это было бы идеально сделано в JavaScript с серверной стороной, проверка регистрируется в обработчике события Click.
Быстрый пример jQuery:
//assuming the dropdowns all have the css class "cascade"
$('select.cascade').change(function() {
If ($('option:selected',this).length == 3) {
$('input[id$=btnNext]').removeAttr('disabled');
}
});