だから私はUserControl
いくつかのカスケードDropDownList
s を持っています。リスト 1 から選択すると、リスト 2 が有効になり、リスト 3 が有効になります。3 つのリストすべてで選択を行うと、次のページに移動できます。
DropDownList
s はUpdatePanel
すべて. しかし、「次のページ」ボタンはUpdatePanel
. このボタンは、3 つのリストすべてが選択されるまで無効にしてから、再度有効にする必要があります。しかし、ボタンは の外側にあるUpdatePanel
ため、選択しても更新されません。(編集:「次のページ」ボタンは、 も含むページにありますUserControl
。)
これを解決する1つの方法を知っています:
var scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(dropDownList1);
scriptManager.RegisterPostBackControl(dropDownList2);
scriptManager.RegisterPostBackControl(dropDownList3);
これにより、ドロップダウン リストが変更されたときにポストバックが確実に行われるため、ボタンを更新できます。UpdatePanel
しかし、これを行うと、そもそもを取り除くことで単純化できます。
UpdatePanel
巧妙な JavaScript などを使用して、Ajax をあきらめずに外部のコントロールを更新できる別の方法はありますか?