ドロップダウン リスト、ラベル、テキスト ボックスを含む Web フォームがあります。以下のように:
<asp:DropDownList ID="ddlTest" runat="server" AutoPostBack="true">
</asp:DropDownList>
<asp:Label ID="lblTest" runat="server" Text="Some text">
</asp:Label>
<asp:TextBox ID="edtTest" runat="server">
</asp:TextBox>
ドロップダウンリストで選択した値に応じて、ラベルとテキストボックスを表示/非表示にしたい。だから私はRadAjaxManaderを追加しました:
<rad:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<rad:AjaxSetting AjaxControlID="ddlTest">
<UpdatedControls>
<rad:AjaxUpdatedControl ControlID="lblTest" />
<rad:AjaxUpdatedControl ControlID="edtTest" />
</UpdatedControls>
</rad:AjaxSetting>
</AjaxSettings>
</rad:RadAjaxManager>
ドロップダウン リストから値を取得するプロシージャ「SetupVisibility」は、ラベルとテキスト ボックスを表示するか非表示にするかを決定します。このような手順を使用すると:
Protected Sub ddlTest_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTest.SelectedIndexChanged
SetupVisibility()
End Sub
それはうまくいきますが、ページがロードされたときに SetupVisibility を呼び出したいと思います:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
SetupVisibility()
End Sub
この問題は、次のようなシナリオで発生します。
- SetupVisibility() は、ページが読み込まれている間、テキスト ボックスとラベルを非表示にします。
- ddlTest ドロップダウン リストの値を変更します。
- SetupVisibility() はテキストボックスとラベルを表示したいのですが、エラーが発生します:
Microsoft JScript - runtime error: Cannot update control with ID: ctl00_CPH1_lblTest. The control does not exist.
どこに問題がありますか?