いくつかの asp:panels で構成される Web フォームがあります。一度に表示できるパネルは 1 つだけです。ユーザーがフォームに入力すると、次のパネルが表示されます。
2 番目のパネルには、ドロップダウン リストがあります。
ページがポストバックでない場合、ページの読み込み時にドロップダウンリストの選択値を設定しています。ただし、2 番目のパネルが表示されると、ドロップダウンリストは事前に選択されていません。
このドロップダウン リスト以外はすべて事前入力されています。他の非表示パネルにもドロップダウン リストがあり、それらも適切に事前設定されています。
さらに、ドロップダウンリストをパネルの外に移動すると、意図したとおりに機能します。つまり、選択した値が事前に入力されます。
すべてのパネルが visible = false に設定されている行を削除すると、ドロップダウンリストに問題なく入力されます。
パネルを非表示にして 1 つずつ表示するコードを追加するとすぐに、選択した値が表示されません。
ここにいくつかのコードがあります
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
...
DropDownList1.SelectedValue = .Item("city")
HideAllPanels()
...
End Sub
Protected Sub LinkButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton2.Click
HideAllPanels()
Panel2.Visible = True
End Sub