У меня есть веб-форма с выпадающим списком, меткой и текстовым полем. Как ниже:
<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.
В чем проблема?