Итак, у меня есть UserControl с каскадным DropDownList на нем. Выбор из списка 1 включает список 2, который, в свою очередь, включает список 3. После того, как вы сделали выбор во всех трех списках, вы можете перейти на следующую страницу.
DropDownList находятся внутри UpdatePanel. Но кнопка "Следующая страница" находится за пределами UpdatePanel. Эта кнопка должна быть отключена до тех пор, пока все три списка не будут выделены, а затем снова должны быть включены. Но поскольку кнопка находится за пределами UpdatePanel, она не обновляется, когда я делаю выбор. ( Изменить. Кнопка "Следующая страница" находится на странице, которая также содержит UserControl.)
Я знаю один способ решить эту проблему:
var scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(dropDownList1);
scriptManager.RegisterPostBackControl(dropDownList2);
scriptManager.RegisterPostBackControl(dropDownList3);
Это обеспечивает обратную передачу при изменении любого раскрывающегося списка, чтобы кнопка могла обновляться. Но если я это сделаю, я мог бы упростить, избавившись от UpdatePanel в первую очередь.
Есть ли другой способ, с помощью какого-то умного JavaScript или что-то еще, что я могу обновить элемент управления вне UpdatePanel, не отказываясь от Ajax?