Итак, у меня есть 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?